我只是想添加一個新的行,我有我的數據源在我需要做一些處理的對象。我需要像下面的WPF數據網格...我可以以編程方式將行添加到WPF數據網格嗎?
DataRow row = dataTable.NewRow();
foreach (NavItem item in record.Items)
{
row[item.FieldNo.ToString()] = item.RecordValue;
}
dataTable.Rows.Add(row);
我只是想添加一個新的行,我有我的數據源在我需要做一些處理的對象。我需要像下面的WPF數據網格...我可以以編程方式將行添加到WPF數據網格嗎?
DataRow row = dataTable.NewRow();
foreach (NavItem item in record.Items)
{
row[item.FieldNo.ToString()] = item.RecordValue;
}
dataTable.Rows.Add(row);
我不知道這是否是正確的解決方案,但我走到這樣的事情,在絕望:
foreach (NavField field in this.Fields)
{
DataGridTextColumn column = new DataGridTextColumn();
column.Header = field.FieldNo.ToString();
//Some other logic
// Hide non active and hidden fields
if (!field.Active || !field.Show)
column.Visibility = System.Windows.Visibility.Collapsed;
grid.Columns.Add(column);
}
然後我添加數據表作爲的ItemsSource:
this.dataGridLines.ItemsSource = dataTable.DefaultView;
如果我的數據表中直接設置,它並不關心從數據表中的列和自動生成它自己的列,不知道爲什麼..
你應該使用ObservableCollection<NavItem>
作爲DataGrid的來源。然後,只需向集合中添加一個新元素即可將其添加到數據網格中。
看到這個MSDN article。
你爲什麼不你的數據源綁定到WPF DataGrid的ItemsSource時,然後當你的數據源進行更新(如新行被添加)它將在WPF datagird被添加。 – whoisthis 2010-10-07 11:05:09
我試圖將數據表綁定到itemssource,它可以工作,但標題,可見性和其他與wpf數據網格的映射不正確。我嘗試了一個字典列表,其中我想要的關鍵是列和值的行值,這是行不通的。我用完了網絡上的所有資源,都是靜態列。 – 2010-10-07 15:29:33
我的數據源位於顯示前需要處理的對象,我無法直接綁定它。 – 2010-10-07 16:02:39