Articles in this section
Category / Section

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

1 min read

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 of handling the QueryStyleInfo, QueryRowCount 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.

C#

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;
}

 

VB

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.

Samples: https://www.syncfusion.com/downloads/support/directtrac/general/SaveCellInfoSample1944702654.zip

Reference link: https://help.syncfusion.com/windowsforms/grid-control/virtual-grid

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