[英]Prevent columns of DataGridView from disappearing in the designer
我的某些 DataGridView 中的列一直在設計器中隨機消失,當然,當我運行該應用程序時也沒有任何顯示。 目前我什至無法將數據源設置為 None 然后返回到我的綁定源(過去一直有效),所以我想我需要創建一個新的 DataGridView 並將數據源重新綁定到它。 問題是我添加了幾個偵聽器、設置列寬等,但我無法跟蹤我對每個表所做的一切(我不應該這樣做。)。 我厭倦了一遍又一遍地重做同樣的事情。
我做了一些搜索,發現其他人也有這個問題,它可能是 Visual Studio 中的一個錯誤(我使用的是 Visual Studio Express 2013)。 所以我的問題是:我是否正在做某事導致這種情況,我可以防止它再次發生嗎?
編輯我已經確定了原因,但仍然沒有解決方案。 當我更改DataGridView
后面的DataTable
時,會發生這種情況,例如,在DataTable
中添加或刪除一列,然后將該列添加到DataGridView
或從中刪除該列。 一旦我這樣做,所有列都會從設計器中消失,包括我添加的任何偵聽器代碼等。 我真的很感激這方面的一些幫助,因為它一直發生在我身上,因為我正在處理一個需求不斷變化的項目,並且此時不可能讓DataTable
為 static。 而且真的很難記住列寬,什么聽眾/工具提示/等等。 我添加到哪些列等。這完全像是設計器中的錯誤。
我最近在綁定到DataSource的Datagridview時遇到了類似的問題。 當我嘗試向Datagridview中添加新列時,在按列編輯器窗口中的OK按鈕時,所有列都將消失。
原因:就我而言,事實證明我試圖添加的新列在數據庫中被命名為“ override”,這是C#中的保留字。 設計人員試圖使用現有名稱添加該列,這當然使事情變得混亂。
解決方案:在將更改保存到Datagridview之前,只需在列編輯器窗口中更改列的Name屬性。 無需更改數據庫或其他任何地方的任何內容。
我也面臨類似的問題。 在designer.cs文件中進行更改。 您將在designer.cs文件中找到所有列。 您仍然可以使用添加列來添加新列。
我的項目剛遇到這個問題。
問題描述:我正在向DataGrid添加新的數據綁定列。 在“編輯列”窗口中按“確定”后,所有列均消失。
解決方案:遺憾的是,您將丟失DataGrid列配置。 保存項目並重新加載。 列將再次出現(如果沒有,請再次設置數據源)。
副作用:該錯誤的最糟糕的部分是項目中仍然存在以前與DataGrid關聯的所有組件,而我無法使用設計器或解決方案資源管理器將其刪除。
項目清理:我必須按照以下步驟清理項目:
警告:我做了建議的更改,但是我的項目沒有問題。 但是,在像我描述的那樣進行手動更正之前,請務必對項目進行備份。
祝你好運,編碼愉快。
我正在使用VS 2013,並且遇到相同的問題。 我打開設計表單,編輯datagridview的列,然后按OK,但是那之后datagridview中的所有列都消失了。
我通過重命名以_(下划線)開頭的所有列,然后按OK來使一切正常,來解決此問題。 可能是VS錯誤,或者我的列名包含保留字。
對於名稱以?結尾的列,我也有同樣的問題。 使用不帶?的別名 解決了問題。 順便說一句,如果在列消失之后,您在IDE中再次關閉並打開了表單,您會發現列仍然存在,但是所有費力地應用的格式化都消失了。 感謝Heavens的源代碼控制。
我在VS 2015中遇到了同樣的問題,我的列從dataGridView中消失了。 在我的情況下,原因是我有一列與Form1中的字符串變量同名的列。 對我來說,解決方案是重命名字符串變量及其所有引用。 之后,我可以編輯“列”屬性,而不會消失任何列。 希望這對仍然面臨此問題的人有所幫助。
使用添加列而不是編輯列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.