簡體   English   中英

如何在后面的代碼中將 DataGrid 綁定到 DataTable?

[英]How to Bind a DataGrid to a DataTable all in code behind?

如何在 C# 代碼后面將 DataGrid 綁定到 DataTable? (所有控件都是在運行時生成的,所以請不要 XAML)

我嘗試了 Binding(),設置了 DataContext,設置了 ItemsSource,但都不起作用:

/* Binding() fails */
Binding bind = new Binding();
bind.Source = dataset;
bind.Path = new PropertyPath("dataset.Tables");
datagrid.SetBinding(DataSet, bind);

/* DataContext fails */
datagrid.DataContext = dataset.Tables;

/* ItemsSource fails */
datagrid.ItemsSource = dataset.Tables;

我需要做的就是將 DataGrid 綁定到 DataTable,這樣當 DataTable 中添加新行時,它將自動顯示在 DataGrid 上。

我通過stackoverflow和谷歌搜索,但奇怪的是我找不到解決方案。

嘗試綁定到數據集中的表之一:

datagrid.ItemsSource = dataset.Tables[0].DefaultView;

此外,為了在您的數據與其在 forms 上的表示之間保持良好的抽象層,我建議您將 DataGridView 的屬性 AutoGenerateColumns 設置為 false 並僅添加您想要手動顯示的列,並使用您選擇的 header 名稱(在這種情況下,不要忘記設置列的 DataPropertyName 屬性)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM