HELP! Cannot enter datagridview using BBS on new record without erroring on rentrant call to...


Author
Message
Charles R Hankey
Charles R Hankey
StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)
Group: Forum Members
Posts: 524, Visits: 30K
I've reproduced this in a sample app.  The issue (at least the first one) is creating a new customer and then without saving entering the grid to add a new sale in the datagridview.

The data retrieval is done with a sproc that will be created by the DDT package.

For anybody that does not have the DDT I am also attaching the scripts to create Gridtest.mdf and the two sprocs

TIA

Attachments
GridTest.zip (146 views, 184.00 KB)
Gridtest.pkg (139 views, 14.00 KB)
Charles R Hankey
Charles R Hankey
StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)
Group: Forum Members
Posts: 524, Visits: 30K
If I save the parent before entering any child grid, i do not get the error in Edit mode.
Charles R Hankey
Charles R Hankey
StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)StrataFrame VIP (1.3K reputation)
Group: Forum Members
Posts: 524, Visits: 30K
I have a simple DGV using as a datasource a BBS connected to a childbo. Relationships all setup properly. Parent filters children. All data is loaded in parentform loading.



Starting with empty data in all tables.



I have tried setting Setdirtyonedit of the childbo instance to false and to true.



I can create a new parent, but on entering any grid I get the following error.



I know I'm missing something very basic here but as I have a dozen of these grids on my form this is a showstopper.



Would really appreciate any suggestions as to what I should be looking at and just what the tricks are to getting a datagridview and a bbs to play nice. For some reason I thought I had this all working and it does seem to not error if the parent isn't new, but on a new parent - BOOM



InvalidOperationException

Operation is not valid because it results in a reentrant call to the SetCurrentCellAddressCore function.



Source : System.Windows.Forms



Stack Trace:

at System.Windows.Forms.DataGridView.SetCurrentCellAddressCore(Int32 columnIndex, Int32 rowIndex, Boolean setAnchorCellAddress, Boolean validateCurrentCell, Boolean throughMouseClick)

at System.Windows.Forms.DataGridView.DataGridViewDataConnection.MatchCurrencyManagerPosition(Boolean scrollIntoView, Boolean clearSelection)

at System.Windows.Forms.DataGridView.DataGridViewDataConnection.ProcessListChanged(ListChangedEventArgs e)

at System.Windows.Forms.DataGridView.DataGridViewDataConnection.currencyManager_ListChanged(Object sender, ListChangedEventArgs e)

at System.Windows.Forms.CurrencyManager.OnListChanged(ListChangedEventArgs e)

at System.Windows.Forms.CurrencyManager.List_ListChanged(Object sender, ListChangedEventArgs e)

at System.ComponentModel.ListChangedEventHandler.Invoke(Object sender, ListChangedEventArgs e)

at MicroFour.StrataFrame.Business.BusinessBindingSource.OnListChanged(ListChangedEventArgs e)

at MicroFour.StrataFrame.Business.BusinessBindingSource.BusinessObject_IsDirtyChanged(Object sender, EventArgs e)

at MicroFour.StrataFrame.Business.BusinessLayer.raise_IsDirtyChanged(Object sender, EventArgs e)

at MicroFour.StrataFrame.Business.BusinessLayer.OnIsDirtyChanged(Boolean DirtyShouldBe)

at MicroFour.StrataFrame.Business.BusinessLayer.SetEditingState(BusinessEditingState EditState, Boolean RefreshControls)

at MicroFour.StrataFrame.Business.BusinessLayer.SetEditingState(BusinessEditingState EditState)

at MicroFour.StrataFrame.Business.BusinessLayer.Add(Boolean CheckSecurity)

at MicroFour.StrataFrame.Business.BusinessBindingSource.IBindingListView_AddNew()

at System.Windows.Forms.CurrencyManager.AddNew()

at System.Windows.Forms.DataGridView.DataGridViewDataConnection.AddNew()

at System.Windows.Forms.DataGridView.DataGridViewDataConnection.OnNewRowNeeded()

at System.Windows.Forms.DataGridView.OnRowEnter(DataGridViewCell& dataGridViewCell, Int32 columnIndex, Int32 rowIndex, Boolean canCreateNewRow, Boolean validationFailureOccurred)

at System.Windows.Forms.DataGridView.OnCellMouseDown(HitTestInfo hti, Boolean isShiftDown, Boolean isControlDown)

at System.Windows.Forms.DataGridView.OnCellMouseDown(DataGridViewCellMouseEventArgs e)

at System.Windows.Forms.DataGridView.OnMouseDown(MouseEventArgs e)

at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.DataGridView.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativewindow.OnMessage(Message& m)

at System.Windows.Forms.Control.ControlNativewindow.WndProc(Message& m)

at System.Windows.Forms.Nativewindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search