1

私はデータグリッドを持っています。DataGrid の列名の 1 つを変更すると、DataTable の列名 (DataGrid の ItemSource) も変更されるようにイベントが発生します。

DataGrid と DataTable の列名を同期するにはどうすればよいですか?

編集

私は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列ありますが、削除された列には空白の値があります. データテーブルから2列を削除したときに4列しか表示されないようにデータグリッドを更新する方法。

4

2 に答える 2

0

可能であれば、これを逆にして、 のいずれかの列の名前を変更するたびにDataTableDataGrid更新されるようにします。

DataGrid にAutoGenerateColumns設定した場合、これは非常に簡単です。true

  1. DataGrid を DataTable にバインドします (DataGrid のItemsSourceプロパティを使用)。
  2. DataGrid プロパティを含むクラスが を実装していることを確認してから、DataTable の列名が変更されるたびINotifyPropertyChangedにイベントを発生させます。PropertyChanged
于 2012-07-27T00:18:36.753 に答える