2013-07-24 64 views
0

當我改變我的DataGridView與DataTable的數據源不具備行誰,並與數據表這種變化的DataSource誰包含行,標題文本的變化和像寬度另一個特性後...更改後的列標題文本更改DataSource?

+0

是的,它會根據數據表 –

+0

的列是你想填充改變gridview與行但不更改列標題? –

+0

DataTable總是有相同的列。當表沒有行問題時開始。 我使用以下代碼刷新表格: dgvPrivateVehicle.DataSource = dt.Select(「tip_p_s ='private'」)。Length> 0? dt.Select(「tip_p_s ='private'」)。CopyToDataTable():new DataTable();在之前的評論中的 – user2612602

回答

0

嘗試之前,首先清除DGV用包含行的DataTable重新填充它。

0

我通過複製DT並清除她的行來解決問題。比我分配該DT到DataSorce,現在一切正常。也許不是最好的方式,但它的作品。謝謝你們!

1

嘗試在DataGridViewDataTable之間使用BindingSource控件。 BindingSource控件有一個非常有用的屬性,名爲Filter,它將過濾掉不需要的行而不創建新的DataTable對象或以其他方式影響底層DataTable的結構,因此DataGridView的標題不會受到影響。

您可以通過代碼手動執行此操作,也可以在設計器中刪除BindingSource的實例。該守則將是這個樣子:

BindingSource bs = new BindingSource(); 
bs.DataSource = YourDataTable; 
YourGridView.DataSource = bs; 

然後你就可以過濾掉你的結果通過簡單地做:

bs.Filter = "some_column = 'some_value'";