using Syncfusion.UI.Xaml.Grid.Helpers;
this.dataGrid.RowValidating += dataGrid_RowValidating;
void dataGrid_RowValidating(object sender, RowValidatingEventArgs args)
{
if (this.dataGrid.IsAddNewIndex(args.RowIndex))
{
//Code for cancelling AddNew operation by validating the args.RowData
if (this.dataGrid.SelectionController.CurrentCellManager.CurrentCell.IsEditing)
this.dataGrid.SelectionController.CurrentCellManager.EndEdit(true);
var AddNewRowController = this.dataGrid.GetGridModel().AddNewRowController;
AddNewRowController.CancelAddNew();
}
}
But I found SelectionControllerBase object 'DataGrid' inside SelectionController which contains all the required methods that a suggested in the above snippet.
I want to know if using:
sfDataGrid1.SelectionController.DataGrid.CurrentCell.IsEditing
is same as using:
sfDataGrid1.SelectionController.CurrentCellManager.CurrentCell.isEditing
will they result in same output? Am I missing something?
this.sfDataGrid1.RowValidating += SfDataGrid1_RowValidating;
private void SfDataGrid1_RowValidating(object sender, Syncfusion.WinForms.DataGrid.Events.RowValidatingEventArgs e)
{
if(this.sfDataGrid1.IsAddNewRowIndex(e.DataRow.RowIndex))
{
if((e.DataRow.RowData as OrderInfo).OrderID == 0)
{
if (this.sfDataGrid1.CurrentCell.IsEditing)
this.sfDataGrid1.CurrentCell.EndEdit(true);
this.sfDataGrid1.View.CancelNew();
}
}
} |