将DataTable数据绑定到DataGrid - 代码背后
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将DataTable数据绑定到DataGrid - 代码背后相关的知识,希望对你有一定的参考价值。
我创建了DataGrid
并且我不想添加DataTemplateColumns泛型,所以它取决于我作为源放置的Data表的列数!但是当我完成所有这些并将DataGrid
列绑定到DataTable
列时,我的情况是我在DataGrid
中获得了正确的行数,但它只是来自第一行的数据。那么,我做错了什么?
这是代码:
Binding binding = new Binding();
binding.Path = new
PropertyPath(dataTable.Columns[i].ColumnName.ToString());
binding.Source = dataTable
FrameworkElementFactory textBlock = new
FrameworkElementFactory(typeof(TextBlock));
textBlock.SetValue(TextBlock.TextProperty, binding);
DataTemplate dataTemplate = new DataTemplate();
dataTemplate.VisualTree = textBlock;
dataGridTemplateColumn.CellTemplate = dataTemplate;
dgTab1.Columns.Add(dataGridTemplateColumn);
我认为我有绑定问题,但我不知道如何解决它,显然!
答案
使用SetBinding
(而不是SetValue
)方法绑定到Text
属性:
FrameworkElementFactory textBlock = new FrameworkElementFactory(typeof(TextBlock));
textBlock.SetBinding(TextBlock.TextProperty, binding);
以上是关于将DataTable数据绑定到DataGrid - 代码背后的主要内容,如果未能解决你的问题,请参考以下文章
在 DataTable 更改 WPF 后更新绑定到 DataTable 的 DataGrid
将行号列添加到绑定到 DataTable 的 DataGridView
如何防止 ComboBox 中的 NewItemPlaceholder 行绑定到与 WPF 中的 DataGrid 相同的 DataTable