General information
Category:
The Mere Mortals .NET Framework
Title:
Child List for field xxx cannot be created for DataGridView
I recently upgraded to MM 3.6. This was working before, and I'm at a loss as to what I'm doing to cause this issue.
I have two Biz Objects: Invoices, InvoicesItems
InvoicesItems is a child of Invoices and is displayed in a DataGridView.
When InvoicesItems is registered as a child of Invoices, when I call Invoices.NewRow(), I get an exception: "Child list for field InvoicesItems cannot be created."
After the exception, oInvoicesItem.DataSet.Tables.Count = 0 (it was 1 before the exception).
If I do not set InvoicesItems as a child, the databinding works and life is good.
Any suggestions will be GREATLY appreciated.
Stack Trace:
at System.Windows.Forms.BindingContext.EnsureListManager(Object dataSource, String dataMember)
at System.Windows.Forms.DataGridView.DataGridViewDataConnection.SetDataConnection(Object dataSource, String dataMember)
at System.Windows.Forms.DataGridView.set_DataMember(String value)
at OakLeaf.MM.Main.Windows.Forms.mmBindingStrategyDataGrid.BindData(ImmBindingDataGrid mmGrid, DataSet ds, String tableName, mmBusinessObject bizObj)
at OakLeaf.MM.Main.Windows.Forms.mmBindingStrategyDataGrid.BindData(ImmBindingDataGrid mmGrid, mmBusinessObject bizObj, mmBusinessStateChangeEventArgs e)
at OakLeaf.MM.Main.Windows.Forms.mmBindingStrategyDataGrid.BindData(ImmBindingDataGrid mmGrid, mmBaseBusinessObject bizObj, mmBusinessStateChangeEventArgs e)
at OakLeaf.MM.Main.Windows.Forms.mmDataGridView.OnBindData(mmBaseBusinessObject bindingSource, mmBusinessStateChangeEventArgs e)
at OakLeaf.MM.Main.Windows.Forms.mmUIHelper.StateChangeHandlerGrid(Control control, mmBaseBusinessObject bizObj, mmBusinessStateChangeEventArgs e)
at OakLeaf.MM.Main.Windows.Forms.mmDataGridView.StateChangeHandler(mmBaseBusinessObject bizObj, mmBusinessStateChangeEventArgs e)
at OakLeaf.MM.Main.Business.mmBusinessObject.OnStateChange(mmBusinessState bizState, String tableName, Object primaryKeyValue, Object[] primaryKeyValues)
at OakLeaf.MM.Main.Business.mmBusinessObject.CallStateChange(mmBusinessState bizState, String tableName, DataRow dr)
at OakLeaf.MM.Main.Business.mmBusinessObject.CallStateChange(mmBusinessState bizState, String tableName)
at OakLeaf.MM.Main.Business.mmBusinessObject.SetCurrentDataSet(DataSet ds, String tableName, Boolean setRequiredFields, Boolean raiseEvents, Int32 rowNumber)
at OakLeaf.MM.Main.Business.mmBusinessObjectGeneric`1.SetCurrentDataSet(DataSet ds, String tableName, Boolean setRequiredFields, Boolean raiseEvents, Int32 rowNumber)
at OakLeaf.MM.Main.Business.mmBusinessObject.SetCurrentDataSet(DataSet ds, String tableName, Boolean setRequiredFields, Boolean raiseEvents)
at OakLeaf.MM.Main.Business.mmBusinessObject.SetCurrentDataSet(DataSet ds, String tableName, Boolean setRequiredFields)
at OakLeaf.MM.Main.Business.mmBusinessObject.SetCurrentDataSet(DataSet ds, String tableName)
at OakLeaf.MM.Main.Business.mmBusinessObject.GetEmptyDataSet(DataSet ds, String tableName, String databaseKey)
at OakLeaf.MM.Main.Business.mmBusinessObjectHelperDS.GetEmptyEntityList[EntityType](String databaseKey, mmBusinessObjectGeneric`1 businessObject)
at OakLeaf.MM.Main.Business.mmBusinessObjectGeneric`1.GetEmptyEntityList(String databaseKey)
at OakLeaf.MM.Main.Business.mmBusinessObjectGeneric`1.GetEmptyEntityList()
at OakLeaf.MM.Main.Business.mmBusinessObjectGeneric`1.StateChangeHandler(mmBaseBusinessObject bizObj, mmBusinessStateChangeEventArgs e)
at OakLeaf.MM.Main.Business.mmBusinessStateChangeDelegate.Invoke(mmBaseBusinessObject bizObj, mmBusinessStateChangeEventArgs e)
at OakLeaf.MM.Main.Business.mmBusinessObject.OnStateChange(mmBusinessState bizState, String tableName, Object primaryKeyValue, Object[] primaryKeyValues)
at OakLeaf.MM.Main.Business.mmBusinessObject.CallStateChange(mmBusinessState bizState, String tableName, DataRow dr)
at OakLeaf.MM.Main.Business.mmBusinessObject.NewRow(DataSet ds, String tableName, Object defaultValues)
at OakLeaf.MM.Main.Business.mmBusinessObjectGeneric`1.NewRow(DataSet ds, String tableName, Object defaultValues)
at OakLeaf.MM.Main.Business.mmBusinessObject.NewRow(DataSet ds, String tableName)
at OakLeaf.MM.Main.Business.mmBusinessObject.NewRow(String tableName)
at OakLeaf.MM.Main.Business.mmBusinessObject.NewRow()
at ATLib.Controls.ambitNavigator.OnNewButtonPressed(Object sender) in C:\Ambit\PointOfSale\ATPOSLib\ambitNavigator.cs:line 830
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only