2009-12-29 47 views
0

我有一個未綁定的DataGridView,它用DataGridViewRows手動填充。 AllowUserToAddRows設置爲false,一切按預期工作 - 網格中沒有顯示NewRow。.NET未綁定DataGridView AllowUsersToAddRows問題

在一種方法中,我添加更多行,編輯一些行並刪除其他一些行。這些操作很好,但是在這些操作之後NewRow變得可見。 NewRowindex屬性從-1更改爲一個值,表示它是實際索引,但AllowUsersToAddRows屬性保持爲false。這發生在幕後的某處,就像我在調試時看到的那樣,我的代碼中沒有任何地方,NewRowIndex不會從-1更改爲更大的值。

有沒有人有任何線索可能是錯誤在這裏,或者可能是一些細節,我可能會失蹤?

後來我會嘗試在一個更簡單的項目中重現此行爲並在此粘貼一些代碼。

編輯:好了,所以試圖重現bug在一個簡單的項目,我注意到,只有當所有的添加/編輯後/刪除我設置了出現這種情況:

dgMap.CurrentCell = null; 

回答

0

這聽起來像一個框架內的錯誤......您使用的是哪個版本?

此外,我可以建議始終將CurrentCell屬性設置爲有效的有效(如dgMap.CurrentCell = dgMap.Rows(0).Cells(0);)?如果您嘗試訪問選定的單元格,它可以爲您節省一些麻煩。

+0

這對我來說也是一個錯誤。我使用的是.NET 3.5,但DataGridView是在2.0程序集中定義的。 嗯,起初我想將當前單元格設置爲null,但是當我遇到這個錯誤時(它會很好,如果null值不是針對此屬性的 - set操作會拋出ArgumentException或類似的一個) - 我試圖將其設置爲(0,0)單元格。由於此代碼在DataGridVeiwComboBoxCell中承載的Combobox的SelectedIndexChanged事件處理程序中執行,所以當此事件內部設置當前單元格爲(0,0)時 - 我得到可重入的調用異常。 – Hassan 2009-12-30 12:43:58

+0

我只是用Reflector來看看它,而屬性的第一行是一個針對Null的檢查...我很疑惑,因爲如果你傳入null值,Property不會設置_anything_ ...至少它不應該根據反映的代碼。 – Bobby 2009-12-30 12:53:28