Мой Winform приложение регистрирует AppDomain.CurrentDomain.UnhandledException
и Application.ThreadException на корневом уровне, и я получил это исключение:Самопроизвольное InvalidOperationException на DataGridView
System.InvalidOperationException: Операция недопустима из-за текущего состояния объекта , в System.Windows.Forms.DataGridView.DataGridViewDataConnection.ProcessListChanged (ListChangedEventArgs e) в System.Windows.Forms.DataGridView.DataGridViewDataConnection.currencyManager_ListChanged (отправитель объекта, ListChangedEventArgs e) в System.Windows.Forms.CurrencyManager.OnListChanged (ListChangedEventArgs e) на System.Windows.Forms.CurrencyManager.List_ListChanged (отправитель объекта, ListChangedEventArgs e) в System.ComponentModel.BindingList
1.OnListChanged(ListChangedEventArgs e) at System.ComponentModel.BindingList
1.FireListChanged (тип ListChangedType, индекс Int32) в System.ComponentModel.BindingList1.InsertItem(Int32 index, T item) at System.Collections.ObjectModel.Collection
1.Add (T item) в системе. ComponentModel.BindingList1.AddNewCore() at System.ComponentModel.BindingList
1.System.ComponentModel.IBindingList.AddNew() в System.Windows.Forms.CurrencyManager.AddNew() в System.Windows.Forms.DataGridView.DataGridViewDataConnection.AddNew() в System.Windows.Forms.DataGridView. DataGridViewDataConnection.OnNewRowNeeded() в System.Windows.Forms.DataGridView.OnRowEnter (DataGridViewCell & DataGridViewCell, Int32 ColumnIndex, Int32 RowIndex, булева canCreateNewRow, булева validationFailureOccurred) при System.Windows.Forms.DataGridView.SetCurrentCellAddressCore (Int32 ColumnIndex, Int32 RowIndex, булева setAnchorCellAddress, булева validateCurrentCell, булева throughMouseClick) при System.Windows.Forms.DataGridView. ProcessDownKeyInternal (Keys keyData, Boolean & перемещен) в System.Windows.Forms.DataGridView.ProcessEnterKey (Keys keyData) в System.Windows.Forms.DataGridView.ProcessDialogKey (Keys keyData) в System.Windows.Forms.Control.ProcessDialogKey (Keys keyData) в System.Windows.Forms.TextBoxBase.ProcessDialogKey (Keys keyData) в System.Windows.Forms.Control.PreProcessMessage (сообщение & msg) в System.Windows.Forms.Control.PreProcessControlMessageInternal (контрольный объект, сообщение & сообщений) в системе .Windows.Forms.Application.ThreadContext.PreTransla teMessage (MSG & тзд)
Это результат ex.ToString(), и он не возвращает пользовательский код моего приложения, только внутренние System.Windows.Forms методы.
Исключение время от времени возникает на некоторых машинах клиента, я даже не могу воспроизвести его сам.
Этот запах не очень хорош, и мое предположение было чем-то, когда я изменяю ограничение datasource для datagridview. Но в этом случае я должен увидеть хотя бы мой класс в стеке исключений, но здесь ничего.
Любой ключ, чтобы найти основную причину или отладить это?
Большое спасибо
Уверенный, что это не указывает на ваш код, но он указывает на 'System.Windows.Forms.DataGridView', который может привести вас к тому, что ваш DataGridView должен иметь некоторые недопустимые данные. – Bauss
_When_ является исключением? У вас должна быть информация от вашего клиента. Тем не менее, я уверен, что это связано и может быть полезно: http: // stackoverflow.com/questions/2359124/datagridview-throwing-invalidoperationexception-operation-is-not-valid-whe –
Право связано с моими данными datagridview, но очень сложно найти, поскольку исключение ничего не показывает из моего кода ... Я уже добавил try/catch all во время моего обновления, но он ничего не ловит ... – Chris