2011-10-03 72 views
0

我有一個DataGridView並在for循環(~35行)中添加幾行到它,而它的Enabled屬性設置爲false。過去我已經完成了這項工作(當Enabled設置爲true時),垂直滾動條塊將更新爲適當的大小,與DataGridView的查看區域和網格中的項目數量相比較。但是,現在看起來不正確的尺寸。C#DataGridView不正確的滾動條大小導致異常

當我重新啓用DataGridView後,我在行中選擇一行和「向下箭頭」,直到程序拋出一個異常說「值應該在範圍內」並引用滾動條。另外,我發現如果我對任何列進行排序,它會將滾動條塊更新爲正確的大小。任何想法發生了什麼?

謝謝!

回答

0

我最近面臨同樣的問題。

您可以這樣做: 1.首先將DataSource設置爲NULL,然後再次提供Datasource。

或者

  1. 使用的BindingList數據綁定DataGridView的。

3

(來自手機貼)我剛剛有同樣的問題,解決它,如下所示:

DataGridView.SuspendLayout()

......做行的加入

DataGridView.ResumeLayout(true);

+0

+1我可以確認此變通辦法實際上起作用 – Anonymous

0

我有完全相同的問題。 我嘗試了一切。 最後,我解決了一個工作。當我允許AllowUserToAddRow爲真時,滾動開始正常工作。

我選擇在代碼中處理這個新行,而不是有錯誤和不正確的滾動條。也許這有助於某人。

相關問題