Completed
Last Updated: 25 Jul 2011 11:20 by Jesse Dyck
ADD. RadGridView - add new column type, where each cell has a drop down which displays a calculator (GridViewCalculatorColumn)
Completed
Last Updated: 14 Jun 2011 02:04 by ADMIN
IMPROVE. RadGridView - AllowFiltering property for a column, should hide its filter operator text
Completed
Last Updated: 04 Jul 2011 02:37 by ADMIN
ADMIN
Created by: Stefan
Comments: 0
Category: GridView
Type: Feature Request
1
ADD. RadGridView - add new column - link column.
Declined
Last Updated: 20 Feb 2014 09:52 by ADMIN
ADD. RadGridView - SelectLastAddedRow should work in scenarios when user adds row too, not only by adding rows from the datasource.
Comment - the property is intended to work only for added rows in the RadGridView DataSource. For the rest of the cases, the cases, the UserAddedRow event should be handled.
Completed
Last Updated: 13 Jun 2014 14:25 by ADMIN
Steps to reproduce:
1. Add a grid with several columns, so there is horizontal scroll bar
2. Add an image to the grid ImageList
3. In the CellFormatting assign the ImageKey of a cell to a value
You will notice that the images are not applied initially. You have to scroll the column where you apply the images out of view and bring it back in to see the images.

WORKAROUND

Instead of setting the ImageKey property, set the Image property to the corresponding image from the image list.
Completed
Last Updated: 09 Sep 2015 14:07 by Filippo
Steps to reproduce:
1. Add a combobox column to a grid 
2. Set DisplayMember, ValueMember and a data source to the column
3. Change a property in the data source that is used as value in the combo column

You will see that the combo column will not display text for the item which value was changed
Completed
Last Updated: 26 Jun 2013 07:55 by ADMIN
Steps to reproduce: 1. Add three rows to a grid 2. Filter one through CustomFiltering 3. Run the project and apply a filter that will filter one of the remaining two rows 4. Now delete the filter value. You will see that the second row will not be visible although there is no filter. WORKAROUND Clear the filter on the column when the user deletes the value of the filter: private void radGridView1_ValueChanging(object sender, ValueChangingEventArgs e) { if (this.radGridView1.CurrentColumn.Name == "ColumnName" && Convert.ToString(e.NewValue) == String.Empty) { int i = 0; while (i < this.radGridView1.FilterDescriptors.Count) { if (this.radGridView1.FilterDescriptors[i].PropertyName == "ColumnName") { this.radGridView1.FilterDescriptors.RemoveAt(i); continue; } i++; } } }
Completed
Last Updated: 14 Mar 2013 07:03 by ADMIN
Steps to reproduce:
1. Add a RadGridView to a form
2. Add several columns and set their MinWidth to 0
3. Set the grid AutoSizeColumnsMode property to Fill
4. Run the project and you will see that you cannot resize the columns.

WORKAROUND:
Set the MinWidth property to a value greater than 0
Completed
Last Updated: 22 Apr 2013 04:19 by ADMIN
Steps to reproduce:
1. Add a grid to a form and add two expression columns
2. Enable Excel-like filtering
3. Add data
4. Run the project and filter on both expression columns

You will see an exception.
Completed
Last Updated: 23 Aug 2012 07:55 by ADMIN
Steps to reproduce:
1. Add a grid to a form and populate it with hierarchical data.
2. Add a button and in its click event handler add the following: a. code that will hide all but one row in the the grid master view. b. code that will export the grid via ExportToExcMelML
3. The resulting excel file will not contain the proper data.
Completed
Last Updated: 23 Oct 2012 04:15 by ADMIN
When exporting to excel the exporter exports null values as empty strings instead of empty excel cells.
Completed
Last Updated: 16 Aug 2018 07:35 by ADMIN
Steps to reproduce:
1. Add a grid to a form and fill it with some data
2. Add a button and in the click event:
   a. Assign a new GridPrintStyle instance to the PrintStyle property
   b. Subscribe for the PrintCellFormatting event of the grid
   c. Call the PrintPreview method of the grid
3. Add a break point in the event handler of the PrintCellFormatting
4. Start the app and click the button. You will see that the break point is never hit.
Completed
Last Updated: 22 Jan 2016 09:44 by ADMIN
Steps to reproduce:
1. Place a grid on a form and add several columns.
2. Set a ColumnGroupsViewDefinition to the grid and resize the columns so the horizontal scroll bar appears.
3. Add a button and on its click call the PrintPreview method of the grid.

You will see that the horizontal scroll bar of the grid will disappear.

Workaround:workaround it by increasing and decreasing the width of a single column with 1 pixel right after you call the Print method of the print document.

document.Print()
  grid.Columns(0).Width += 1
  grid.Columns(0).Width -= 1
Completed
Last Updated: 17 Feb 2012 10:33 by ADMIN
Currently one can only set theme of the RadPrintPreviewDialog.
Completed
Last Updated: 20 Oct 2011 10:47 by ADMIN
Steps to recreate this scenario:
Create an interface e.g. IBaseInterface with couple of properties.
Create another interface e.g. IChildInterface which implements the first one
Create a class which implements the second interface.
Create a list with items of type the child interface.
Fill the list with objects of type the class.
THE PROBLEM IS VALID ONLY FOR 2.0 NET FRAMEWORK!
FIXED TO WORK WITH ALL VERSIONS UNCLUDING TREEVIEW!
When a control is bound to this list it will only "see" the properties defined in the child interface.
test:
----------------------------------------------
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Telerik.WinControls.UI;
namespace Lab.Grid
{
public partial class GridInterfaceInheritanceBinding : MainForm
{
private RadGridView gridView = new RadGridView();
private RadDropDownList comboBox = new RadDropDownList();
public GridInterfaceInheritanceBinding()
{
InitializeComponent();
gridView.Dock = DockStyle.Fill;
gridView.Parent = this;
gridView.BringToFront();
comboBox.Width = 200;
comboBox.Parent = this;
comboBox.BringToFront();
Random r = new Random(DateTime.Now.Second);
List<ITelephone> phones = new List<ITelephone>();
for (int i = 0; i < 10; i++)
{
Telephone phone = new Telephone();
phone.Type = r.Next(3) + 1;
phone.Primary = true;
phone.PRI = i;
phone.ParentType = 1;
phone.Number = "1-800-555-555" + i.ToString();
phone.LockedOn = null;
phone.LockedBy = null;
phone.Locked = 0;
phone.ID = new Guid();
phone.Deleted = false;
phone.Archived = false;
phone.Active = true;
phones.Add(phone);
}
comboBox.DisplayMember = "Number";
comboBox.ValueMember = "PRI";
comboBox.DataSource = phones;
gridView.DataSource = phones;
}
}
public interface IBusinessObject
{
long PRI { get; set; }
bool Active { get; set; }
bool Archived { get; set; }
bool Deleted { get; set; }
byte Locked { get; set; }
string LockedBy { get; set; }
DateTime? LockedOn { get; set; }
Guid ID { get; set; }
}
public interface IStandardLinkTable : IBusinessObject
{
long? ParentPRI { get; set; }
int? ParentType { get; set; }
int? Type { get; set; }
}
public interface ITelephone : IStandardLinkTable
{
string Number { get; set; }
bool? Primary { get; set; }
}
public class Telephone : IBusinessObject, ITelephone
{
public System.Guid ID { get; set; }
private System.Guid _originalid { get; set; }
public System.Int64 PRI { get; set; }
private System.Int64 _originalpri { get; set; }
public System.Byte Class { get; set; }
private System.Byte _originalclass { get; set; }
public System.Int64? ParentPRI { get; set; }
private System.Int64? _originalparentpri { get; set; }
public System.Int32? ParentType { get; set; }
private System.Int32? _originalparenttype { get; set; }
public System.Int32? Type { get; set; }
private System.Int32? _originaltype { get; set; }
public System.String Number { get; set; }
private System.String _originalnumber { get; set; }
public System.Boolean? Primary { get; set; }
private System.Boolean? _originalprimary { get; set; }
public System.Byte Locked { get; set; }
private System.Byte _originallocked { get; set; }
public System.String LockedBy { get; set; }
private System.String _originallockedby { get; set; }
public System.DateTime? LockedOn { get; set; }
private System.DateTime? _originallockedon { get; set; }
public System.Boolean Active { get; set; }
private System.Boolean _originalactive { get; set; }
public System.Boolean Archived { get; set; }
private System.Boolean _originalarchived { get; set; }
public System.Boolean Deleted { get; set; }
private System.Boolean _originaldeleted { get; set; }
internal void SetInitialValues()
{
_originalid = ID;
_originalpri = PRI;
_originalclass = Class;
_originalparentpri = ParentPRI;
_originalparenttype = ParentType;
_originaltype = Type;
_originalnumber = Number;
_originalprimary = Primary;
_originallocked = Locked;
_originallockedby = LockedBy;
_originallockedon = LockedOn;
_originalactive = Active;
_originalarchived = Archived;
_originaldeleted = Deleted;
}
}
}
Completed
Last Updated: 06 Feb 2013 06:04 by ADMIN
Currently developers can localize the names of the properties. They should be able to localize the descriptions as well.
Unplanned
Last Updated: 15 Aug 2017 09:36 by ADMIN
Currently exporters do not respect the RightToLeft property of RadGridView and export the data always as left to right.
Completed
Last Updated: 11 Dec 2015 07:52 by ADMIN
RadGridView - does not scroll correctly when AutoSizeRows and EnableFastScrolling are set to true.

Code to reproduce:
radGridView1.BeginUpdate();

radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
radGridView1.AutoSizeRows = true;
radGridView1.EnableFastScrolling = true;

DataTable dt = new DataTable();
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Columns.Add("C");

for (int i = 0; i < 50; i++)
{
    string[] array = new string[3];
    array[0] = i.ToString();
    array[1] = i.ToString();
    array[2] = i.ToString();

    dt.Rows.Add(array);
}

radGridView1.DataSource = dt;

radGridView1.EndUpdate();
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
Completed
Last Updated: 04 Mar 2013 03:21 by ADMIN
FIX. RadGridViiew - HierarchyLevel property shows incorrect hierarchy level for GridNewRowElement in grid with hierarchy.