The Syncfusion native Blazor components library offers 70+ UI and Data Viz web controls that are responsive and lightweight for building modern web apps.
.NET PDF framework is a high-performance and comprehensive library used to create, read, merge, split, secure, edit, view, and review PDF files in C#/VB.NET.
Hi,
I want to save the current record when i move to another cell (not only when i move to another row). To do this, i use the TableControlCurrentCellValidated event and EndEdit function :
private void Grid_TableControlCurrentCellValidated(object sender, GridTableControlEventArgs e)
{
if (this.ggc_grid.Table.CurrentRecord != null)
this.ggc_grid.Table.CurrentRecord.EndEdit();
}
When i try it an exception occurs :
System.InvalidOperationException: AddNew not called
at Syncfusion.Grouping.AddNewRecord.SetValue(FieldDescriptor fieldDescriptor, Object value)
at Syncfusion.Windows.Forms.Grid.Grouping.GridAddNewRecord.Syncfusion.Windows.Forms.Grid.Grouping.IGridTableCellStyleChanged.RaiseTableCellStyleChanged(GridTableCellStyleInfoEventArgs e)
at Syncfusion.Windows.Forms.Grid.Grouping.GridTableCellStyleInfoIdentity.OnStyleChanged(StyleInfoBase style, StyleInfoProperty sip)
at Syncfusion.Styles.StyleInfoBase.OnStyleChanged(StyleInfoProperty sip)
at Syncfusion.Windows.Forms.Grid.GridStyleInfo.OnStyleChanged(StyleInfoProperty sip)
at Syncfusion.Styles.StyleInfoBase.SetValue(StyleInfoProperty sip, Object value)
at Syncfusion.Windows.Forms.Grid.GridStyleInfo.set_CellValue(Object value)
at SageCoala.Cool.Compta.JournalForm.Grid_SaveCellFormattedText(Object sender, GridCellTextEventArgs e) in c:\my projects 2\sagecoala.cool\dllcool\compta\journalform.cs:line 527
at Syncfusion.Windows.Forms.Grid.Grouping.GridGroupingControl.OnSaveCellFormattedText(GridCellTextEventArgs e)
at Syncfusion.Windows.Forms.Grid.Grouping.GridGroupingControl.RaiseSaveCellFormattedText(GridCellTextEventArgs e)
at Syncfusion.Windows.Forms.Grid.Grouping.GridEngine.OnSaveCellFormattedText(GridCellTextEventArgs e)
at Syncfusion.Windows.Forms.Grid.Grouping.GridEngine.RaiseSaveCellFormattedText(GridCellTextEventArgs e)
at Syncfusion.Windows.Forms.Grid.Grouping.GridTableModel.OnSaveCellFormattedText(GridCellTextEventArgs e)
at Syncfusion.Windows.Forms.Grid.GridModel.RaiseSaveCellFormattedText(GridCellTextEventArgs e)
at Syncfusion.Windows.Forms.Grid.GridCellModelBase.ApplyFormattedText(GridStyleInfo style, String text, Int32 textInfo)
at Syncfusion.Windows.Forms.Grid.GridStyleInfo.ApplyFormattedText(String text)
at Syncfusion.Windows.Forms.Grid.GridCellRendererBase.OnSaveChanges()
at Syncfusion.Windows.Forms.Grid.GridCellRendererBase.RaiseSaveChanges()
at Syncfusion.Windows.Forms.Grid.GridCurrentCell.ConfirmChanges(Boolean closeDropDown)
catched at Syncfusion.Windows.Forms.Grid.GridCurrentCell.ConfirmChanges(Boolean closeDropDown) in :line 0
What is the problem, and how can i fix it ?
Is there another solution to have this behavior ?
Regards,
Mikaël
ADAdministrator Syncfusion Team July 11, 2005 09:14 AM UTC
Try using the RecordValueChanged event, calling e.Record.EndEdit() in your handler, to see if that will avoid this problem.
MMMikaël MorvanJuly 11, 2005 10:03 AM UTC
Ok, it avoid the problem.
Now when i use the append row and i validate a cell, the row was save and a new append row appears, and the current cell move to the new append row.
How can i prevent the current cell move to the new append row ?
ADAdministrator Syncfusion Team July 11, 2005 10:23 AM UTC
If you end the edit early on the addnew row, there is no way to avoid the grid putting the newly added row in its proper position. You cannot avoid doing this if you call record.EndEdit to save the changes wherever you leave a cell.
If you do not want this to happen, you would have to avoid calling EndEdit for the AddNew row.
if(!(e.Record is GridAddNewRecord))
e.Record.EndEdit();