When you define a data source which contains display value for null value, the display value does not appear in the column's cells.
ADD. RadGridView - add kitetic scrolling support
If you show a hidden form that hosts a RadGridView control instance, the filtering does not perform correctly.
After updating a cell, the RowsChanged event fires 3 times
1. Add a RadGridView 2. Create a new method and call it on a button click 2. Create and set a ColumnGroupsViewDefinition 3. Add rows in unbound mode
Currently the editor cannot be closed using the CancelEdit method when handling the CellValidating event.
FIX. RadGridView - setting the grid to ReadOnly and then back to normal mode, does not show the AddNewRow
FIX. RadGridView - header cells incorrect state when column grouping is used. The clicked cells remain Hovered even when the mouse is not longer above the cell.
FIX. RadGridView - composite filters does not work
The GetLookUpValue method of GridViewComboBoxColumn throws exception when the column shows enum values.
FIX. RadGridView - FilterButton for Excel-Like filtering of GridViewComboBoxColumn, shows incorrect ToolTipText
ADD. RadGridView - add new column type, where each cell has a drop down which displays a calculator (GridViewCalculatorColumn)
Group Descriptors are added before adding rows in unbound mode and not using defer refresh or Begin/EndUpdate
test:
----------------------------------------------------
using System.ComponentModel;
using System.Windows.Forms;
using Telerik.WinControls.UI;
namespace Lab.Grid
{
public partial class GridGroupInUnboundMode : MainForm
{
private RadGridView gridView = new RadGridView();
public GridGroupInUnboundMode()
{
InitializeComponent();
this.gridView.Dock = DockStyle.Fill;
this.gridView.Parent = this;
this.gridView.BringToFront();
gridView.GroupDescriptors.Add("Name", ListSortDirection.Ascending);
GridViewTextBoxColumn col = new GridViewTextBoxColumn();
col.HeaderText = col.Name = "Id";
col.DataType = typeof(int);
gridView.Columns.Add(col);
col = new GridViewTextBoxColumn();
col.HeaderText = col.Name = "Name";
col.DataType = typeof(string);
gridView.Columns.Add(col);
col = new GridViewTextBoxColumn();
col.HeaderText = col.Name = "Sum";
col.DataType = typeof(double);
gridView.Columns.Add(col);
}
protected override void OnButton1Click()
{
gridView.Rows.Add(1, "Ivan", 123.56);
gridView.Rows.Add(2, "Ivan", 372.90);
gridView.Rows.Add(3, "Peter", 500.00);
}
protected override void OnButton2Click()
{
gridView.Rows.Add(4, "George", 300.00);
gridView.Rows.Add(5, "George", 600.00);
gridView.Rows.Add(6, "George", 100.00);
gridView.Rows.Add(7, "Enzo", 78.00);
}
protected override void OnButton3Click()
{
gridView.Rows.Add(8, "Enzo", 100.00);
gridView.Rows.Add(9, "Enzo", 200.00);
gridView.Rows.Add(10, "Enzo", 300.00);
}
}
}
1. Create a new project and add RadGridView 2. Bind to a large DataSource (e.g. 150 k rows) 3. Set MultiSelect property to true 4. On a button click call the SelectAll method 5. Run the application and click the button
There is an exception when resetting the binding source on CellEndEdit after pressing Enter Comment: It is not correct to preserve the CurrentRow position when changing/reseting the binding source. Instead you can preserve its index and restore it when the data source is updated!
Pressing Ctrl+Shift+Home should select all rows from the current one to the first row. Pressing Ctrl+Shift+End should select all rows from the current one to the last row.
If you show a message box dialog in the SelectionChanged event of RadGridView, you need to click twice to minimize the form.
This event will enable canceling the selection operation in RadGridView
1. Create a new project containing RadGridView and bind it 2. Set the AddNewRowPosition property to Bottom 3. Add validation logic in RowValidating event 4. run the project and try to add a new row with wrong values
ADD. RadGridView - add new column - link column.