Completed
Last Updated: 10 Jul 2012 02:47 by ADMIN
To reproduce:
rgvTest.BeginUpdate()
For ixTest As Integer = 1 To 2000
Dim rgvrTest As GridViewRowInfo = rgvTest.Rows.AddNew
rgvrTest.Cells(0).Value = "Value " & ixTest.ToString
Next
rgvTest.EndUpdate()
rgvTest.Rows(0).IsCurrent = True
MessageBox.Show(rgvTest.CurrentCell.RowIndex.ToString)
Completed
Last Updated: 19 Jan 2012 09:16 by ADMIN
FIX. RadGridView - add property to GridSpinEditorElement which will prevent the value changing with mouse wheel
Completed
Last Updated: 22 Feb 2012 03:17 by ADMIN
ADMIN
Created by: Stefan
Comments: 0
Category: GridView
Type: Feature Request
2
ADD. RadTimePicker localization provider
Completed
Last Updated: 18 Sep 2015 13:51 by ADMIN
Workaround, use the Pasting event of RadGridView and perform the needed validation
Completed
Last Updated: 19 Aug 2014 07:46 by ADMIN
The check box should be placed in the header cell (if the users wants to). Additionally it should be able to control both one level and hierarchy
Resolution: 
You need to set the EnableHeaderCheckBox property to true. Please refer in help article for more information: http://www.telerik.com/help/winforms/gridview-columns-gridviewcheckboxcolumn.html
Completed
Last Updated: 10 Oct 2014 08:57 by ADMIN
Steps to reproduce:

1. Add a RadGridView to a form.
2. Add a code that would load data in the RadGridView from an IDataReader:
radGridView1.MasterTemplate.LoadFrom(iReader);
3. Set EnableAlternatingRowColor to true and set some AlternatingRowColor
4. Run the project and you will see that the alternating row color is not applied.

Completed
Last Updated: 27 Feb 2012 08:24 by ADMIN
Steps to reproduce:
1. Add a RadGridView to form
2. Add a hyperlink column and set its width to say 100.
3. Add a row in the column with a text measuring than 100 in width.
4. Run the project and you will see that the text will be cropped without "..." in its end.
Completed
Last Updated: 27 May 2015 13:18 by Ruth Goldberg
To reproduce:
-add a RadGridView and bind it to Northwind.Customers datatable.
-try to edit a random row and change its CustomerID cell to an already existing one.

Workaround: use custom GridViewDataRowInfo:

public class CustomRowInfo : GridViewDataRowInfo
{
    public CustomRowInfo(GridViewInfo viewInfo) : base(viewInfo)
    {
    }

    protected override bool OnEndEdit()
    {
        IEditableObject dataItem = this.DataBoundItem as IEditableObject;
        if (dataItem != null)
        {
            try
            {
                dataItem.EndEdit();
            }
            catch (Exception ex)
            {
                this.ViewTemplate.SetError(new GridViewCellCancelEventArgs(null,null, null), ex);
            }
        }
    
        return base.OnEndEdit();
    }
}
Completed
Last Updated: 18 Aug 2015 08:18 by ADMIN
Completed
Last Updated: 13 Jun 2014 12:17 by ADMIN
To reproduce:
- Add a grid with some columns to a blank form (the rows should not fill the entire space).
- Press and hold the left mouse button, the move the mouse to the empty area of the grid.
- Continue to move the mouse and you will notice the event is fired several times.

Workaround:
- use the CurrentCellChanged event.
Completed
Last Updated: 07 Apr 2016 12:43 by ADMIN
When scrolling to the bottom of the grid with the mouse, the last row is not lined up with the bottom of the grid. Also, when doing this, clicking on any row, leads to row jumping down to align properly, but a different row is selected.

Workaround:

public Form1()
{
    InitializeComponent();
    radGridView1.MouseDown+=radGridView1_MouseDown;
    radGridView1.MouseUp+=radGridView1_MouseUp;
}
bool scrolling = false;

private void radGridView1_MouseDown(object sender, MouseEventArgs e)
{
    ScrollBarThumb thumb = radGridView1.ElementTree.GetElementAtPoint(e.Location) as ScrollBarThumb;
    if (thumb != null)
    {
        scrolling = true;
    }
}

private void radGridView1_MouseUp(object sender, MouseEventArgs e)
{
    if (scrolling)
    {
        scrolling = false;
        int scrollBarValue = radGridView1.TableElement.VScrollBar.Value;
        radGridView1.MasterTemplate.Refresh();
        radGridView1.TableElement.VScrollBar.Value = scrollBarValue;
    }
}
Completed
Last Updated: 26 Jan 2015 15:06 by ADMIN
To reproduce:
- Add grid to a form and populate it with data.
- Show and hide the the excel like filtering several times.
Completed
Last Updated: 13 Oct 2015 11:01 by ADMIN
To reproduce:
- Set the column like this:
GridViewMaskBoxColumn col = new GridViewMaskBoxColumn();
col.Mask = "&&&&&&&&&&";
col.MaskType = MaskType.Standard;
col.FieldName = "Name";
col.TextMaskFormat = MaskFormat.IncludeLiterals;

- Type two words and press enter.

Workaround:
public class MyRadMaskedEditBoxEditor : RadMaskedEditBoxEditor
{
    public override object Value
    {
        get
        {
            if (this.MaskTextBox.Mask == "my mask")
            {
                return this.MaskTextBox.Value;
            }
            return base.Value;
        }
        set
        {
            base.Value = value;
        }
    }
}
Completed
Last Updated: 16 Sep 2015 07:31 by ADMIN
http://screencast.com/t/mZDwbWS8

WORKAROUND:
Set the UseCompatibleTextRendering property of RadGridView to false.
Completed
Last Updated: 27 Oct 2015 07:26 by ADMIN
To reproduce:
- Crete a self-reference hiearchy and show the grid lines.
- Start the application expand some rows scroll to the bottom and then scroll to the right.
- The issue is easily reproducible with the example from the documentation.

Workaround:
class MyDataCellElement : GridDataCellElement
{
    public MyDataCellElement(GridViewColumn col, GridRowElement row) : base(col, row)
    {
    }

    protected override SizeF ArrangeOverride(SizeF finalSize)
    {
        SelfReferenceCellLayout selfReferenceLayout = this.SelfReferenceLayout;
        if (selfReferenceLayout != null)
        {
            GridDataRowElement dataRowElement = this.RowElement as GridDataRowElement;

            if (dataRowElement != null && this.ColumnInfo.OwnerTemplate != null)
            {
                dataRowElement.SelfReferenceLayout.StackLayoutElement.Visibility = ElementVisibility.Visible;
            }
        }
        else
        {
            GridDataRowElement dataRowElement = this.RowElement as GridDataRowElement;

            if (dataRowElement != null && this.ColumnInfo.OwnerTemplate != null)
            {
                dataRowElement.SelfReferenceLayout.StackLayoutElement.Visibility = ElementVisibility.Collapsed;
            }
        }
        return base.ArrangeOverride(finalSize);
    }
    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(GridDataCellElement);
        }
    }
}
Completed
Last Updated: 20 Jun 2016 06:47 by ADMIN
To reproduce:

public Form1()
{
    InitializeComponent();

    List<Item> items = new List<Item>();
    for (int i = 1; i <= 10; i++)
    {
        items.Add(new Item(i, "Product" + i, 0.25m * i, i));
    }
    this.radGridView1.DataSource = items;
    GridViewDecimalColumn col = new GridViewDecimalColumn("Calculated Column");             
    col.Expression = "Quantity*Price/100";
    this.radGridView1.Columns.Add(col);
    this.radGridView1.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill;
}

public class Item
{
    public int Id { get; set; }

    public string Name { get; set; }

    public decimal Price { get; set; }

    public int Quantity { get; set; }

    public Item(int id, string name, decimal price, int quantity)
    {
        this.Id = id;
        this.Name = name;
        this.Price = price;
        this.Quantity = quantity;
    }
}

MemoryStream s = new MemoryStream();

private void radButton1_Click(object sender, EventArgs e)
{
    s = new MemoryStream();
    this.radGridView1.SaveLayout(s);
}

private void radButton2_Click(object sender, EventArgs e)
{
    this.radGridView1.LoadLayout(s);
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    s.Close();
}


Workaround: before loading the layout, clear the columns
Completed
Last Updated: 07 Mar 2016 10:05 by ADMIN
Workaround:

public Form1()
{
    InitializeComponent();

    this.radGridView1.TableElement.VScrollBar.ValueChanged += VScrollBar_ValueChanged;
}

private void VScrollBar_ValueChanged(object sender, EventArgs e)
{
            int maxValue = this.radGridView1.TableElement.VScrollBar.Maximum - this.radGridView1.TableElement.VScrollBar.LargeChange;
            if (maxValue < 0)
            {
                this.radGridView1.TableElement.VScrollBar.Value = 0;
            }
            else if (this.radGridView1.TableElement.VScrollBar.Value > maxValue)
            {
                this.radGridView1.TableElement.VScrollBar.Value = maxValue;
            }
}
Completed
Last Updated: 06 Jul 2016 15:36 by ADMIN
To reproduce: 
1.Set the GridView template's ViewDefinition to ColumnGroups
2.Add a new column
3.Delete the column
4.Add another new column. The PropertyBuilder closes and it is not possible to open the Smart Tag of RadGridView anymore. Please refer to the attached gif file.

Workaround:
The issue is caused by a remaining reference to a deleted column. When using the RadGridView PropertyBuilder and a column is added to ColumnGroupsViewDefinition, once the column is deleted from RadGridView (via the Property Builder) the code for adding the column in the ColumnGroupsViewDefinition remains, and this causes further designer instability with the Property Builder.

To handle this scenario there are two options:
1. When a column is deleted via Property Builder, and this column was part of ColumnGroupsViewDefinition, open the Designer.cs/vb file, locate the line that adds this column to a ColumnNames collection and delete it. It should be something like:
gridViewColumnGroupRow3.ColumnNames.Add("column1"); - where "column1" is the name of the deleted column

2. Instead of using the Property Builder to build the ColumnGroupsViewDefinition, build it programmatically.
Completed
Last Updated: 14 Mar 2016 07:44 by ADMIN
To reproduce: 

public Form1()
{
    InitializeComponent();

    for (int i = 0; i < 10; i++)
    {
        this.radGridView1.Columns.Add("Col"+i);
    }
    this.radGridView1.TableElement.RowDragHint = null;
}

Workaround:
public Form1()
{
    InitializeComponent();

    for (int i = 0; i < 10; i++)
    {
        this.radGridView1.Columns.Add("Col"+i);
    }
    this.radGridView1.TableElement.RowDragHint = null;

    CustomRadGridViewDragDropService service = new CustomRadGridViewDragDropService(this.radGridView1.GridViewElement);
    this.radGridView1.GridViewElement.RegisterService(service);
    
}
public class CustomRadGridViewDragDropService : RadGridViewDragDropService
{
    public CustomRadGridViewDragDropService(RadGridViewElement gridViewElement) : base(gridViewElement)
    {
    }
    public override string Name
    {
        get
        {
            return typeof(RadGridViewDragDropService).Name;
        }
    }

    protected override void PrepareDragHint(ISupportDrop dropTarget)
    {
        if (this.GridViewElement.TableElement.RowDragHint == null)
        {
            return;
        }
        base.PrepareDragHint(dropTarget);
    }
    protected override IGridDragDropBehavior GetDragDropBehavior()
    {
        IGridDragDropBehavior behavior = null;
        ISupportDrop dropTarget = this.DropTarget;
        if (dropTarget is GridHeaderCellElement)
        {
            behavior = new CustomGridColumnDragDropBehvavior();
            return behavior;
        }
        return base.GetDragDropBehavior();
    }
}

public class CustomGridColumnDragDropBehvavior : GridColumnDragDropBehvavior
{
    public override Size GetDragHintSize(ISupportDrop dropTarget)
    {
        if (this.DragHint==null)
        {
            return new Size(0, 0);
        }
        return base.GetDragHintSize(dropTarget);
    }
}
Completed
Last Updated: 10 Oct 2016 08:24 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 6
Category: GridView
Type: Bug Report
2
Workaround: skip the summary rows by creating custom GridViewSearchRowInfo:  

private void radGridView1_CreateRowInfo(object sender, GridViewCreateRowInfoEventArgs e)
{
    if (e.RowInfo is GridViewSearchRowInfo)
    {
        e.RowInfo = new CustomGridViewSearchRowInfo(e.ViewInfo);
    }
}


public class CustomGridViewSearchRowInfo : GridViewSearchRowInfo
        {
            public CustomGridViewSearchRowInfo(GridViewInfo viewInfo) : base(viewInfo)
            {
            }

            protected override bool MatchesSearchCriteria(string searchCriteria, GridViewRowInfo row, GridViewColumn col)
            {
                if (row is GridViewSummaryRowInfo)
                {
                    return false;
                }
                return base.MatchesSearchCriteria(searchCriteria, row, col);
            }
        }