我有一個DataGrid。當我更改DataGrid的列名之一時,我想要出現一個事件,以便DataTable的列名(DataSource的DataSource)也會更改。在WPF中同步DataGrid和DataTable的列名稱
如何同步DataGrid和DataTable的列名稱?
編輯
我有這樣的DataGrid有6列:
<wpfc4:RGrid x:Name="dgrid" Grid.Row="2" ItemsSource="{Binding Model.CurrentDataTable}" Style="{DynamicResource DataGridRStyle}" AutoGenerateColumns="True"></wpfc4:RGrid>
這RemoveSelectedColumn功能:
private void RemoveSelectedColumn()
{
DataGridColumn toRemove = this.Columns[_selectedColumnIndex];
DataView view = this.ItemsSource as DataView;
view.Table.Columns.Remove(toRemove.Header.ToString());
// deleting column from datatable.
this.UpdateLayout();
this.Items.Refresh();
}
它從數據表中刪除,但數據網格仍然有6列,但刪除列有空白值。我如何更新datagrid,所以它只顯示4列,當我從數據表中刪除2列。
請看到我的編輯區 – user1535848 2012-07-27 03:29:24
而不是'this.Items.Refresh',會發生什麼,如果你嘗試'this.ItemsSource = Model.CurrentDataTable'?基本上,我認爲你需要完全重置你的'ItemsSource',而不是刷新項目。我認爲你根本不需要'UpdateLayout'。 – devuxer 2012-07-27 05:38:54