Adding Child Rows

Posted by JPMeister on 30-Jul-2018 05:04

Hi,

I'm trying to add child rows to my ActiveRow on my UltraGrid, both Temp-tables schema are in the BindingSource which is then assigned to DataSource for the UltraGrid.

The BindingSource property AllowNew is set to true and I have also assinged the ChildAllowNew for the child temp-table to true with the below code:

bsMain1:ChildAllowNew:Item["tt"].

Even without this code it seems this property was already set to true.

This code below is the code I'm trying to use to Add the new record for the child temp-table within the grid:

dg:ActiveRow:ChildBands:Item[0]:Band:AddNew().

And the error I'm getting is the following:

System.NotSupportedException: Row insertion not supported by this data source

Please let me know if there is anything else extra I'm supposed to do here that I'm missing,

Thanks,

My Environment: Developer Studio 11.7.1 running on Windows 10

Posted by JPMeister on 31-Jul-2018 05:15

Ok we found a way around it by updating the DataSet handle directly and then just refreshing the binding source and grid.

All Replies

Posted by JPMeister on 31-Jul-2018 05:15

Ok we found a way around it by updating the DataSet handle directly and then just refreshing the binding source and grid.

Posted by Laura Stern on 31-Jul-2018 09:51

I saw your answer (which isn't appearing here for me - "Ok we found a way around it by updating the DataSet handle directly and then just refreshing the binding source and grid").  Good that is what I would have said.  You should not use .NET calls to update your temp-tables!  That is best done directly in the ABL. Those methods, like AddNew, are really meant to be used by the control.  For example, if the control allows you to open up a new row in a grid, it wants to tell the BindingSource, and thus the underlying data source to add a new row.  But if you want to initiate the adding of rows, then do it in the ABL and inform the controls about it.

This thread is closed