将DataTable作为WPF中另一个DataTable的单元格值



所以我的问题是我想在WPF中的另一个表中显示一个表。

我使用DataTable来显示一些数据,并且有一列,我需要在其中显示另一个DataTable。我设置了AutoGenerateColumns="True"。对于一个小测试,这是我写的(好吧,它按预期工作(:

var curDataTable = new DataTable();
curDataTable.Columns.Add("name"  , typeof(string));
curDataTable.Columns.Add("number", typeof(int));
DataRow curRowData = curDataTable.NewRow();
curRowData[0] = "jones";
curRowData[1] = 90;
curDataTable.Rows.Add(curRowData);

现在,假设我已经有了一个已填充的DataTable_dataTable。现在我想在第二列中显示这个_dataTable。这是我所期望的工作,但不起作用:

var curDataTable = new DataTable();
curDataTable.Columns.Add("name" , typeof(string));
curDataTable.Columns.Add("table", typeof(DataTable));
DataRow curRowData = curDataTable.NewRow();
curRowData[0] = "jones";
curRowData[1] = _dataTable;
curDataTable.Rows.Add(curRowData);

有人知道怎么解决这个问题吗?

使用嵌套的DataTables不起作用。

您应该做的是用自定义类型替换外部DataTable,并绑定到DataGridTemplateColumn中此类型的自定义集合属性。

我认为嵌套的DataTables是不可能的。。。您可以做的是在"_datable"中创建名称为"的新列;name";

_datatable.Columns.Add("name" , typeof(string)).SetOrdinal(0);

使用CCD_ 8;name";列第一列。现在你可以添加新的列了。

我希望它能帮助

最新更新