[英]Datagridview doesn't refresh even after reassigning its datasource to bindingsource
[英]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.