How to update the CRUD operations in the database in WinForms GridGroupingControl?
CRUD operation in database
By default, WinForms GridGroupingControl does not have direct support to update the changes to the database. To update the changes to database, manipulate the data in the SourceListRecordChanged event based on Action property value.
C#
//Event Subscription
this.gridGroupingControl1.SourceListRecordChanged += gridGroupingControl1_SourceListRecordChanged;
//Event Customization
void gridGroupingControl1_SourceListRecordChanged(object sender, Syncfusion.Grouping.RecordChangedEventArgs e)
{
//To update database for addition.
if (e.Action == Syncfusion.Grouping.RecordChangedType.Added)
{
String column1Value = e.Record.GetValue("id").ToString();
string column2Value = e.Record.GetValue("desc").ToString();
string txtSQLQuery = "insert into mains ([id],[desc]) values ('" + column1Value + "','" + column2Value + "')";
ExecuteQuery(txtSQLQuery);
}
//Update db for Deletion.
if (e.Action == Syncfusion.Grouping.RecordChangedType.Removed)
{
String value = e.Record.GetValue("id").ToString();
string txtSQLQuery = "delete from mains where id =" + value;
ExecuteQuery(txtSQLQuery);
}
//Update the db when modify the cell value.
if (e.Record.Kind == Syncfusion.Grouping.DisplayElementKind.AddNewRecord)
return;
String columnName = e.Record.GetValue("id").ToString();
Object val = e.Record.GetValue(columnName);
object unique = e.Record.GetValue("id");
if (val == null || unique == null)
return;
string value1 = val.ToString();
string txtSQLQuery1 = "update mains set " + columnName + " =\"" + value1 + "\" where id =" + unique.ToString();
ExecuteQuery(txtSQLQuery1);
}VB
'Event Subscription
AddHandler Me.gridGroupingControl1.SourceListRecordChanged, AddressOf gridGroupingControl1_SourceListRecordChanged
'Event Customization
Private Sub gridGroupingControl1_SourceListRecordChanged(ByVal sender As Object, ByVal e As Syncfusion.Grouping.RecordChangedEventArgs)
'Update db when adding records.
If e.Action = Syncfusion.Grouping.RecordChangedType.Added Then
Dim column1Value As String = e.Record.GetValue("id").ToString()
Dim column2Value As String = e.Record.GetValue("desc").ToString()
ExecuteQuery("insert into mains ([id],[desc]) values ('" & column1Value & "','" & column2Value & "')")
End If
'Update db for Deletion.
If e.Action = Syncfusion.Grouping.RecordChangedType.Removed Then
Dim value1 As String = e.Record.GetValue("id").ToString()
Dim txtSQLQuery1 As String = "delete from mains where id =" & value1
ExecuteQuery(txtSQLQuery1)
End If
'Update the db when modify the cell value.
If e.Record.Kind = Syncfusion.Grouping.DisplayElementKind.AddNewRecord Then
Return
End If
Dim columnName As String = e.Record.GetValue("id").ToString()
Dim val As Object = e.Record.GetValue(columnName)
Dim unique As Object = e.Record.GetValue("id")
If val Is Nothing OrElse unique Is Nothing Then
Return
End If
Dim value As String = val.ToString()
Dim txtSQLQuery As String = "update mains set " & columnName & " =""" & value & """ where id =" & unique.ToString()
ExecuteQuery(txtSQLQuery)
End Sub Samples:
C#: To update CRUD operations_CS
VB: To update CRUD operations_VB