Declined
Last Updated: 20 Oct 2014 14:45 by ADMIN
ADMIN
Created by: Jack
Comments: 0
Category:
Type: Bug Report
1
1. Add RadPanel on to design time surface
2. Set its AutoScroll property to true
3. Add button which is partially visible
4. Try to scroll using the scrollbar

Resolution: 
You need to use RadScrollablePanel instead RadPanel. You can refer to link http://feedback.telerik.com/Project/154/Feedback/Details/109764-add-scrolling-behavior-for-radscrollablepanel-at-design-time
Declined
Last Updated: 16 May 2019 08:17 by ADMIN
1. Create a new project and setup hierarchy
2. Add a large number of rows as child rows to the last row at first level
3. Run the project and try to expand the last row
Declined
Last Updated: 05 Jun 2015 10:25 by ADMIN
1. Create a new project with RadGridView.
2. Bind it.
3. Add some filter descriptors.
4. Handle the CustomFiltering event and add custom filter for some column.
5. Run the project and you will see that all other filters are not applied.
Declined
Last Updated: 10 Apr 2015 07:46 by ADMIN
Steps to reproduce:
1) Add RadGridView control
2) Add GridViewTextBoxColumn
2) Enable filtering: 

            this.radGridView1.EnableFiltering = true;

3) Programmatically set filter descriptor:

            FilterDescriptor filter = new FilterDescriptor();
            filter.PropertyName = "TextBoxColumn";
            filter.Operator = FilterOperator.IsEqualTo;
            filter.IsFilterEditor = true;
            
            this.radGridView1.FilterDescriptors.Add(filter);

Expected result: the default FilterDescriptor is changed from Contains to IsEqual
Actual result: can not set the default FilterDescriptor from Contains to IsEqual operator to a TextBoxColumn

Workaround:

        private void OnFilterExpressionChanged(object sender, FilterExpressionChangedEventArgs e)
        {
            GridViewTemplate owner = sender as GridViewTemplate;
            List<string> filterExpressions = new List<string>();

            for (int i = 0; i < owner.FilterDescriptors.Count; i++)
            {
                FilterDescriptor descriptor = owner.FilterDescriptors[i];
                string expression = null;

                CompositeFilterDescriptor compositeFilterDescriptor = descriptor as CompositeFilterDescriptor;

                if (compositeFilterDescriptor != null)
                {
                    foreach (FilterDescriptor filterDescriptor in compositeFilterDescriptor.FilterDescriptors)
                    {
                        if (string.IsNullOrEmpty(filterDescriptor.PropertyName) ||
                            owner.Columns[filterDescriptor.PropertyName] == null)
                        {
                            continue;
                        }
                    }

                    expression = CompositeFilterDescriptor.GetCompositeExpression(compositeFilterDescriptor);
                }
                else
                {
                    if (string.IsNullOrEmpty(descriptor.PropertyName) ||
                        owner.Columns[descriptor.PropertyName] == null)
                    {
                        continue;
                    }

                    if (descriptor.Value == null && (descriptor.Operator == FilterOperator.IsNotEqualTo || descriptor.Operator == FilterOperator.IsEqualTo))
                    {
                        expression = string.Empty;
                    }
                    else
                    {
                        expression = descriptor.Expression;
                    }
                }

                if (!string.IsNullOrEmpty(expression))
                {
                    filterExpressions.Add(expression);
                }
            }

            string logicalOperator = (owner.FilterDescriptors.LogicalOperator == FilterLogicalOperator.And) ? " AND " : " OR ";
            string resultExpression = String.Join(logicalOperator, filterExpressions.ToArray());
            e.FilterExpression = resultExpression;
        }
Declined
Last Updated: 05 Jun 2014 07:08 by ADMIN
ADMIN
Created by: Nikolay
Comments: 0
Category: UI for WinForms
Type: Bug Report
1
CaptionTextFont property does not work. It should set the font of the OutLookStyle's caption and the font of the groups' headers.
Declined
Last Updated: 20 Feb 2014 09:56 by Svetlin
The DefaultValueAttribute of Format and FormatInfo properties of GridViewDataColumn causes exceptions when load layout is performed.
Comment: this is an issue inside .Net framework.
Declined
Last Updated: 11 Jan 2016 11:51 by ADMIN
You cannot save the current row by performing the DataContext's SaveChanges method when the RadGridView is bound to IQueryable.

The code should look like this to work properly:
protected sealed override void BindingNavigator_SaveAction(object sender) {
    try
    {
        this.countriesRadGridView.EndEdit();
        BindingSource bs = this.countriesRadGridView.DataSource as BindingSource;
        bs.EndEdit();
        this.DataContext.SaveChanges();
        base.FireUpdateData();
    }
    catch (Exception Ex)
    {
        string exMessage = Ex.Message;
        MessageBox.Show(exMessage);
    }
}
Declined
Last Updated: 12 Dec 2015 11:58 by ADMIN
How to handle this case:

Subscribe to the CellValidating event and add logic for validation. For example:

If e.Value Is Nothing Then
    e.Cancel = True
End If

Additionally you can handle the DataError event to handle cases where users are trying to submit invalid data through the grid to its data source.

Finally, you can subscribe to the ContextMenuOpening event where to hide the "Clear value" item from context menu with following code snippet:

For i As Integer = 0 To e.ContextMenu.Items.Count - 1
    If e.ContextMenu.Items(i).Text = "Clear Value" Then
        e.ContextMenu.Items(i).Visibility = Telerik.WinControls.ElementVisibility.Collapsed
    End If
Next
Declined
Last Updated: 01 Mar 2019 12:29 by ADMIN

When a form's width is reduced enough then some groups in ribbon bar will become collapsed and in group's place a drop-down arrow is shown. When this arrow is clicked it will show properly its active state in all themes except three Metro themes. In Metro themes arrow's active state is such that only upper half of the control is visible. The issue is shown in current documentation for RadRibbonBar in the following image:

 

 

Declined
Last Updated: 30 Apr 2019 09:52 by Dimitar
Created by: IT
Comments: 2
Category: Form
Type: Bug Report
1

Form goes under windows taskbar based on following conditions.

 

WindowState = Maximized

MinimizeBox = false

MaximizeBox = false

 

Also when there is no icon (ShowIcon = false) Form text, first letter is clipped.  

Declined
Last Updated: 18 Mar 2019 14:33 by ADMIN
If the lookup_value parameter and lookup_vector parameters refer cells containing text values, the function returns a Not available error ("#N/A").
Declined
Last Updated: 16 May 2019 08:17 by ADMIN
Created by: Christian
Comments: 1
Category: UI for WinForms
Type: Bug Report
1
Use attached to reproduce.
Declined
Last Updated: 18 Oct 2019 12:41 by ADMIN

To reproduce:

  doc.Pages[0].CropBox = new Rect(150, 150, doc.Pages[0].Size.Width - 30, doc.Pages[0].Size.Height - 30);

Declined
Last Updated: 15 Oct 2015 11:04 by ADMIN
To reproduce: 
1. Add GridView which inherits the RadGridView
2. Populate the grid with some data
3. Add conditional formatting and set RowBackColor and CellBackColor 
4. Subscribe to RowFormatting event and change the font of selected row: 
void radGridView2_RowFormatting(object sender, RowFormattingEventArgs e)
{
    if (e.RowElement.IsSelected)
    {
        e.RowElement.Font = new Font(this.Font.FontFamily, this.Font.Size + 2, FontStyle.Bold);
    }
    else
    {
        e.RowElement.ResetValue(LightVisualElement.FontProperty, ValueResetFlags.Local);
        //e.RowElement.Font = this.Font;
    }
}

5. Select row with conditional formatting. The font of selected row is bold which is correct. Select another row and you will see that the previous row is still bold.

Workaround: 
Subscribe to CellFormatting event instead RowFormatting
void radGridView2_CellFormatting(object sender, CellFormattingEventArgs e)
{
    if (e.Row.IsSelected)
    {
        e.CellElement.Font = new Font(this.Font.FontFamily, this.Font.Size + 2, FontStyle.Bold);
    }
    else
    {
        e.CellElement.ResetValue(LightVisualElement.FontProperty, ValueResetFlags.Local);
    }
}
Declined
Last Updated: 27 Feb 2015 14:27 by ADMIN
Declined
Last Updated: 05 Jun 2015 09:18 by ADMIN
When you use a custom GroupComparer for the MasterTemplate, grouping is performed successfully for the first time. However, if you remove all groups and perform grouping again for the same columns, the grid behavior is not as expected: you will notice groups mismatching or duplication. Here is a sample code snippet which incorrect behavior is illustrated on the attached gif file:

public Form1()
{
    InitializeComponent();

    DataTable dt = new DataTable();
    dt.Columns.Add("Reference");
    dt.Columns.Add("Test Case");
    dt.Columns.Add("ChBW");
    dt.Columns.Add("Voltage");
    dt.Columns.Add("Environmental Conditions");
    dt.Columns.Add("RadioAccessTechnology");

    dt.Rows.Add("4.2.1", "E-Utran FDD...", "10", "C Nominal-2", "T Nominal - V Nominal", "E-UTRAN Only");
    dt.Rows.Add("5.2.1", "E-Utran FDD...", "3", "C Nominal-1", "T Nominal - V Nominal", "E-UTRAN Only");
    dt.Rows.Add("14.2.1", "E-Utran FDD...", "1", "C Nominal-3", "T Nominal - V Nominal", "E-UTRAN Only");
    dt.Rows.Add("2.2.1", "E-Utran FDD...", "4", "C Nominal-2", "T Nominal - V Nominal", "E-UTRAN Only");
    dt.Rows.Add("7.2.1", "E-Utran FDD...", "12", "C Nominal-1", "T Nominal - V Nominal", "E-UTRAN Only");
    dt.Rows.Add("2.2.1", "E-Utran FDD...", "2", "C Nominal-3", "T Nominal - V Nominal", "E-UTRAN Only");

    this.radGridControlSelection.DataSource = dt;
    this.radGridControlSelection.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;

    this.radGridControlSelection.MasterTemplate.GroupComparer = new GroupComparer();
}

public class GroupComparer : IComparer<Group<GridViewRowInfo>>
{
    public int Compare(Group<GridViewRowInfo> x, Group<GridViewRowInfo> y)
    {
        if (x.Level != y.Level)
        {
        }
        DataGroup group = x as DataGroup;

        var a = x.Header;
        var b = y.Header;

        int valueA;
        int valueB;

        if (group == null)
        {
            group = y as DataGroup;
        }
        if (group != null && group.GroupDescriptor != null && group.GroupDescriptor.GroupNames.Count > 0)
        {
            string propertyName = group.GroupDescriptor.GroupNames.First().PropertyName;
            if ((propertyName.ToUpper() == "VOLTAGE"))
            {
                int indexA = GetIndexContain(a.ToString().Split(new char[] { '-' })[1]);
                int indexB = GetIndexContain(b.ToString().Split(new char[] { '-' })[1]);

                if (indexA == indexB)
                {
                    return 0;
                }
                else if (indexA < indexB)
                {
                    return -1;
                }
                else
                {
                    return 1;
                }
            }
            else if (propertyName.ToUpper() == "RADIOACCESSTECHNOLOGY")
            {
                return x.Key.ToString().CompareTo(y.Key.ToString());
            }
            // BAND
            else if (propertyName.ToUpper() == "CHBW")
            {
                Int32.TryParse(a, out valueA);
                Int32.TryParse(b, out valueB);

                //ASCENDING SELECTED
                if (group.GroupDescriptor.GroupNames.First().Direction == ListSortDirection.Ascending)
                {
                    if (valueA > valueB)
                    {
                        return 1;
                    }
                    else if (valueA < valueB)
                    {
                        return -1;
                    }
                    else
                    {
                        return 0;
                    }
                }
                //DESCENDING
                else
                {
                    if (valueA > valueB)
                    {
                        return -1;
                    }
                    else if (valueA < valueB)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                }
            }
        }
        return x.Key.ToString().CompareTo(y.Key.ToString());
    }

    private int GetIndexContain(string a)
    {
        int parsedValue;
        if (int.TryParse(a, out parsedValue))
        {
            return 10 - parsedValue;
        }
        return -1;
    }
}


Workaround:

public class Grid:RadGridView
{
    public override string ThemeClassName  
    { 
        get 
        { 
            return typeof(RadGridView).FullName;  
        }
    }

    protected override RadGridViewElement CreateGridViewElement()
    {
        return new CustomGridViewElement();
    }
}

public class CustomGridViewElement : RadGridViewElement
{
    protected override Type ThemeEffectiveType     
    { 
        get    
        { 
            return typeof(RadGridViewElement);     
        }
    }

    protected override MasterGridViewTemplate CreateTemplate()
    {
        return new CustomMasterGridViewTemplate();
    }
}

public class CustomMasterGridViewTemplate : MasterGridViewTemplate
{
    protected override GridViewListSource CreateListSource()
    {
        return new CustomGridViewListSource(this);
    }
}

public class CustomGridViewListSource : GridViewListSource
{
    public CustomGridViewListSource(GridViewTemplate template) : base(template)
    {
    }

    protected override RadCollectionView<GridViewRowInfo> CreateDefaultCollectionView()
    {
        return new CustomGridDataView(this);
    }
}

public class CustomGridDataView : GridDataView
{
    public CustomGridDataView(GridViewListSource listSource) : base(listSource)
    {
    }

    protected override GroupBuilder<GridViewRowInfo> CreateGroupBuilder()
    {
        return new CustomGroupBuilder(this.Indexer);
    }
}

public class CustomGroupBuilder : GridGroupBuilder
{
    public CustomGroupBuilder(Index<GridViewRowInfo> index) : base(index)
    {
    }

    protected override Group<GridViewRowInfo> GetGroup(GroupCollection<GridViewRowInfo> cache,
        Group<GridViewRowInfo> newGroup, Group<GridViewRowInfo> parent, object key, int level)
    {
        GroupDescriptor currentDescriptor = this.CollectionView.GroupDescriptors[level];
        DataGroup group = (DataGroup)base.GetGroup(null, newGroup, parent, key, level);
        if (group.GroupDescriptor != null && group.GroupDescriptor != currentDescriptor)
        {
            SetGroupDescriptor(group, null);
            IGroupFactory<GridViewRowInfo> groupFactory = this.CollectionView.GroupFactory;
            group = (DataGroup)groupFactory.CreateGroup(key, parent);
            group.GroupBuilder = this;
        }
        SetGroupDescriptor(group, currentDescriptor);
        return group;
    }

    private void SetGroupDescriptor(DataGroup dataGroup, GroupDescriptor currentDescriptor)
    {
        FieldInfo fi = typeof(DataGroup).GetField("groupDescriptor", BindingFlags.NonPublic | BindingFlags.Instance);
        fi.SetValue(dataGroup, currentDescriptor);
    }
}
Declined
Last Updated: 08 Jul 2015 12:33 by ADMIN
ADMIN
Created by: Dimitar
Comments: 1
Category: RichTextEditor
Type: Bug Report
1
To reproduce:
Import the following rtf:
string rtfText = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil\fcharset0 Tahoma;}{\f2\fnil\fcharset0 Times New Roman;}{\f3\fnil\fcharset0 Arial Unicode MS;}{\f4\fnil\fcharset0 Calibri;}}
{\colortbl ;\red0\green0\blue0;}
\viewkind4\uc1\pard\tx300\tx600\tx900\tx1200\tx1500\tx1800\tx2100\tx2400\tx2700\tx3000\tx3300\tx3600\tx3900\tx4200\tx4500\cf1\b\fs32 Arial\f1\par
Tahoma\par
\f2 Times New Roman\par
\f0 Arial\f2\par
\f3 Arial Unicode MS\par
\f4 Calibri\b0\f0\fs20\par
}";
RtfFormatProvider rtf = new RtfFormatProvider();
this.radRichTextEditor1.Document = rtf.Import(rtfText);

this.richTextBox1.Rtf = rtfText;
Declined
Last Updated: 20 Oct 2015 14:28 by ADMIN
To reproduce:
protected override void OnLoad(EventArgs e)
{
    this.radGridView1.AllowAddNewRow = false;
    this.radGridView1.TableElement.RowHeight = 40;

    this.radGridView1.MasterTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;        
    GridViewTextBoxColumn id = new GridViewTextBoxColumn("ID");
    id.IsVisible = false;
    GridViewTextBoxColumn parentID = new GridViewTextBoxColumn("ParentID");
    parentID.IsVisible = false;
    GridViewTextBoxColumn name = new GridViewTextBoxColumn("Name");
    GridViewDateTimeColumn date = new GridViewDateTimeColumn("Date");
    GridViewTextBoxColumn type = new GridViewTextBoxColumn("Type");
    GridViewTextBoxColumn size = new GridViewTextBoxColumn("Size");
    size.FormatString = "{0} MB";
    radGridView1.Columns.AddRange(new GridViewDataColumn[]
    {
        id,
        parentID,
        name,
        date,
        type,
        size
    });

    this.radGridView1.Relations.AddSelfReference(this.radGridView1.MasterTemplate, "ID", "ParentID");

    radGridView1.CellValueChanged += radGridView1_CellValueChanged;
    fillData();
}



void radGridView1_CellValueChanged(object sender, GridViewCellEventArgs e)
{
    fillData();
}

private void fillData()
{     
    radGridView1.Rows.Clear();
   
    radGridView1.Rows.Add(1, null, "Program Files", DateTime.Now.AddDays(-100), "Folder", 5120);
    radGridView1.Rows.Add(2, 1, "Visual Studio 2010", DateTime.Now.AddDays(-100), "Folder", 3220);
    radGridView1.Rows.Add(3, 2, "bin", DateTime.Now.AddDays(-100), "Folder", 3220);
    radGridView1.Rows.Add(4, 2, "READEME.txt", DateTime.Now.AddDays(-100), "Text Document", 3);
    radGridView1.Rows.Add(100, null, "Test.txt", DateTime.Now.AddDays(-10), "Text File", 0);

    radGridView1.Rows.Add(5, 1, "Telerik RadControls", DateTime.Now.AddDays(-10), "Folder", 3120);
    radGridView1.Rows.Add(6, 5, "Telerik UI for Winforms", DateTime.Now.AddDays(-10), "Folder", 101);
    radGridView1.Rows.Add(7, 5, "Telerik UI for Silverlight", DateTime.Now.AddDays(-10), "Folder", 123);
    radGridView1.Rows.Add(8, 5, "Telerik UI for WPF", DateTime.Now.AddDays(-10), "Folder", 221);
    radGridView1.Rows.Add(9, 5, "Telerik UI for ASP.NET AJAX", DateTime.Now.AddDays(-10), "Folder", 121);

    radGridView1.Rows.Add(10, 1, "Microsoft Office 2010", DateTime.Now.AddDays(-120), "Folder", 1230);
    radGridView1.Rows.Add(11, 10, "Microsoft Word 2010", DateTime.Now.AddDays(-120), "Folder", 1230);
    radGridView1.Rows.Add(12, 10, "Microsoft Excel 2010", DateTime.Now.AddDays(-120), "Folder", 1230);
    radGridView1.Rows.Add(13, 10, "Microsoft Powerpoint 2010", DateTime.Now.AddDays(-120), "Folder", 1230);

    radGridView1.Rows.Add(14, 1, "Debug Diagnostic Tools v1.0", DateTime.Now.AddDays(-400), "Folder", 2120);
    radGridView1.Rows.Add(15, 1, "Designer's 3D Tools", DateTime.Now.AddDays(-500), "Folder", 1120);
    radGridView1.Rows.Add(16, 1, "Communication", DateTime.Now.AddDays(-700), "Folder", 120);
}

Then start the application edit a value and click another cell.

Workaround:
- Enclose the rows addition within Begin/End update block.
Declined
Last Updated: 23 Jul 2015 13:47 by ADMIN
Steps to reproduce:

1. Add a GridViewDateTimeColumn to a grid.

2. Add rows where one or more rows should contain null as the columns value.

3. Sort the grid by the date time column. 



WORKAROUND:

Create a custom RadGridDateTimeConverter and assign it as the column's date type converter:

public class CustomRadGridDateTimeConverter : RadGridDateTimeConverter
{
    public CustomRadGridDateTimeConverter(GridViewDateTimeColumn column)
        : base(column)
    { }

    public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
    {
        if (destinationType == typeof(DateTime) && value == null)
        {
            return DateTime.MinValue;
        }

        return base.ConvertTo(context, culture, value, destinationType);
    }
}



this.radGridView1.Columns["DateTime"].DataTypeConverter = new CustomRadGridDateTimeConverter(this.radGridView1.Columns["DateTime"] as GridViewDateTimeColumn);
Declined
Last Updated: 18 Sep 2014 14:58 by ADMIN
Telerik winforms demo application "bugtracker" issue:
reproduction:
1. drag the "bugs" window to touch the upper middle docking guide icon and without releasing the mouse button drag it further
Effect: please observe that the remainder of the "bugs window" will not be refreshed, you can draw with this window
The same issue can be also observed in the demo hub: drag > Tabstrip properties demo application and also in the DragDropService demo application.