簡體   English   中英

防止 DataGridView 的列在設計器中消失

[英]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關聯的所有組件,而我無法使用設計器或解決方案資源管理器將其刪除。

項目清理:我必須按照以下步驟清理項目:

  • 轉到解決方案資源管理器中的DataGridColumn。 它將顯示在項目中的.Designer.cs文件中。
  • 刪除或注釋文件行。
  • 錯誤將顯示在您的錯誤列表中。
  • 刪除或注釋錯誤中報告的行(位於InitializeComponent()方法上)。

警告:我做了建議的更改,但是我的項目沒有問題。 但是,在像我描述的那樣進行手動更正之前,請務必對項目進行備份。

祝你好運,編碼愉快。

從“添加列”而不是“編輯列”中添加將解決問題

可能是一個錯誤。 但是它對我來說可以從如圖所示的“ 添加列”選項中添加列 ,而不是從“ 編輯列”選項中添加列

我正在使用VS 2013,並且遇到相同的問題。 我打開設計表單,編輯datagridview的列,然后按OK,但是那之后datagridview中的所有列都消失了。

我通過重命名以_(下划線)開頭的所有列,然后按OK來使一切正常,來解決此問題。 可能是VS錯誤,或者我的列名包含保留字。

看我的截圖

對於名稱以?結尾的列,我也有同樣的問題。 使用不帶?的別名 解決了問題。 順便說一句,如果在列消失之后,您在IDE中再次關閉並打開了表單,您會發現列仍然存在,但是所有費力地應用的格式化都消失了。 感謝Heavens的源代碼控制。

我在VS 2015中遇到了同樣的問題,我的列從dataGridView中消失了。 在我的情況下,原因是我有一列與Form1中的字符串變量同名的列。 對我來說,解決方案是重命名字符串變量及其所有引用。 之后,我可以編輯“列”屬性,而不會消失任何列。 希望這對仍然面臨此問題的人有所幫助。

使用添加列而不是編輯列。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM