Articles in this section

How to implement the virtual grid that allows you to change the values in WinForms GridControl?

Virtual grid

In the virtual grid, the data is loaded to the cells by using the QueryCellInfo event. It is not possible to save the values because the event is recursively called, and it gets the data from the underlying source only that is the value entered in the cell is not registered in the source. So, the old value is maintained in the Grid. To make the Grid accept the changes, you can use the SaveCellInfo event handler.

 

Solution

In addition to handling the QueryStyleInfoQueryRowCount, and QueryColCount, you have to handle the SaveCellInfo event. In your handler, you must save the changes back to your external data source. The following code examples implement a virtual grid that allows you to change the data.

void gridControl1_SaveCellInfo(object sender, GridSaveCellInfoEventArgs e)
{
  // Update the Current cell value to the external source.
  extDataSource.Rows[e.RowIndex - 1][e.ColIndex - 1] = e.Style.CellValue;
  e.Handled = true;
}
Private Sub gridControl1_SaveCellInfo(ByVal sender As Object, ByVal e As GridSaveCellInfoEventArgs)
'Update the Current cell value to the external source.
extDataSource.Rows(e.RowIndex - 1)(e.ColIndex - 1) = e.Style.CellValue
e.Handled = True
End Sub

 

Virtual grid with changed cells


Figure
1: Virtual grid with changed cells

Note:

In addition, to move rows and columns, your SaveCellInfo handler accepts changes in row or column order when the data is stored. This adds an additional layer of complexity to the data management.


SampleSaveCellInfoSample1944702654.zip

Reference Link: Virtual Grid

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Access denied
Access denied