簡體   English   中英

DataSource刷新后如何保持datagridview的“模式”

[英]How to keep “schema” of datagridview after DataSource refresh

我有 2 個 DataGridView,它是一種 MasterDetail 表。 我對名為“dgw”的 Detail DataGridView 有疑問。 它的DataSource是datatable, dgw.DataSource=DataTable; . 在代碼中,我對更改名稱等列進行了一些處理,添加了一些列, dgw.Columns.Add(NewColumn); 更改列的類型,使某些列不可見等。

問題是,當我再次設置 dgw 的 DataSource 時,總是在 Master DataGridView 中更改行時,我在 dgw 中使用列的所有工作都消失了,我看到“丑陋”的列沒有對它們進行任何更改。

這就是我刷新 dgw 的數據源的方式,在 MasterDataGridView 中的每次更改行時都會調用代碼。

dgw.DataSource = typeof(DataTable);
dgw.DataSource = GetVCVDataSource(dataTable);

我找到了一些解決方案,我認為第一行應該可以完成這項工作,但我可能不明白。 之前是dgw.DataSource = null; ,我用它來關閉數據源分配期間發生的事件。

我相信必須有一些簡單的解決方案,但我無法解決。

謝謝你的任何建議。

我懷疑那里的第一行傷害了你; 以下將更合適:

xx.DataSource = null;
xx.DataSource = GetVCVDataSource(dataTable);

它將重新綁定,而不必擔心中間的不同類型。

此外,在更早的某個時間點(僅一次):

xx.AutoGenerateColumns = false;

暫無
暫無

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

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