2012-10-10 30 views
3

我將數據網格綁定到DataView。數據顯示時,我想隱藏ID列。 ID列需要存在於數據中,因爲它在我的代碼的另一部分中使用。WPF datagrid隱藏與動態數據源的列

ID列始終是第一個(索引0)列。

我是否認爲DataContextChanged事件不能保證所有的列都被刷新?

如何在隱藏列之前確保綁定已完成?理想情況下,我想通過列名來隱藏它。

編輯:忘了說我無法指定XAML中的列,因爲它們是從動態SQL生成的。

回答

8

我想通了。

在AutoGeneratingColumn事件中,我正在檢查DataGridAutoGeneratingColumnEventArgs標頭值並取消與列標題匹配的操作。

Private void dataGrid_AutoGeneratingColumn(object sender,  DataGridAutoGeneratingColumnEventArgs e) 
     { 
      if (e.Column.Header.ToString() == "ID") 
      { 
       e.Cancel = true; 
      } 
     }