在VS2010程序中,我有一個帶有自定義列(不可編輯)的DataGridView。當我啓動GUI時,按照我放置的順序顯示列;問題是當程序開始填充它們時,列以某種奇怪的方式重新排序,我無法弄清楚爲什麼(我禁用手動重新排序和調整大小選項)。 如何強制列保持我決定的順序?DataGridView在填充數據時對列重新排序
回答
如果AutoGenerateColumns設置爲true,則在DataGridView的屬性中將其設置爲false。它是如何工作的呢?
在DataGridView屬性中沒有名爲「AutoGenerateColumns」的字段;順便說一下,該程序不添加任何列,它只是重新排列我添加到它的那些列。 – kaharas 2011-02-25 20:01:54
「AutoGenerateColumns」屬性在窗體設計器中不可見,但確實作爲類成員存在。您可以在代碼中明確禁用它。 InitializeComponent()通常是一個好地方,但是在繪製控件之前的任何時候都應該工作。 繼承DataGridView控件的另一個問題是,如果基本控件沒有定義列,AutoGenerateColumns仍然爲true;如果您在子類控件中指定了列,那麼當控件自動從數據源生成時(如果不禁用它的話),定義會被破壞。 – Suncat2000 2011-03-08 20:14:26
檢查您的DTG是否自動創建collumns。
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcolumn.displayindex.aspx
我希望這將是有益的。在V
歡迎來到StackOverflow,並感謝您花時間回答問題。不幸的是,你的答案只包括一個鏈接,因爲鏈接可能會失效或死亡,因此SO不鼓勵。請編輯您的文章,以包含您認爲對回答問題最有幫助的內容,並將鏈接保留爲任何想要進一步信息的人員的參考。 – Dirk 2014-03-02 16:36:48
嘗試設置網格列,如果您的網格conatins的DisplayIndex升序排列,即只有1,2,3,4等 PROPERT萬一可見和不可見列,您還必須爲不可見列設置網格DisplayIndex。
- 1. 重新排序的GridView列(填充從數據庫)
- 2. .Net重新排序DataGridView運行時列
- 3. 在CellEndEdit上重新填充DataGridView
- 4. DataGridView列在清除數據和重新填充列後無法正常工作
- 5. 從DataTable的數據填充DataGridView中排除1列
- 6. 重新排列數據庫時重新排序UitableView單元
- 7. 重新填充dataGridView具有內部連接的數據集
- 8. 重新排序datagridview的列不工作
- 9. 重新排序列數據以填充行刪除後留下的空位?
- 10. DataGridView自動重新排序
- 11. 填充時間序列數據?
- 12. 在DataGridView中錯誤地填充數據
- 13. 掛在datagridview。填充大量的數據
- 14. DataGridView中的列排序導致加載新數據時失敗
- 15. 使用對象列表填充datagridview
- 16. 根據值對列重新排序
- 17. DataGridView在填充列標題時插入新行
- 18. 重新排列元素並同時填充默認輸出
- 19. 排序數組/對象/哈希正在填充Chrome列表框
- 20. 將對象綁定到DataGridview並重新排序列
- 21. DataGridView正好填充列
- 22. DataGridview中的SqlDataReader填充列
- 23. 填充/排序ArrayStore中的數據ExtJS
- 24. Datagridview的rowindex在用tableadapter填充數據集後保持重置
- 25. 重新填充datagridview時出現明顯錯誤
- 26. 重新排列DataGridView中的列
- 27. 如何重新排列DataGridView中的列?
- 28. 角數據表不列重新排序
- 29. 重新排序數據框中列
- 30. 數據表列重新排序
「奇怪」重新排序可能與您的基礎數據表相同。如果是這種情況,該控件可能會自動生成默認列並替換您的自定義列。 – Suncat2000 2011-03-08 20:17:44