gpt4 book ai didi

c# - 如何在 DataGrid 中设置 DisplayMemberPath?

转载 作者:太空宇宙 更新时间:2023-11-03 17:03:27 24 4
gpt4 key购买 nike

我正在与 Wpf DataGrid 作斗争.它的ItemsSourceDataTable其中由类型细胞组成 Tuple<int, string>

这是关于如何创建我的 DataTable 的一小段代码.

            // Create columns
for (int j = 0; j < maxCount; j++) {
dt.Columns.Add(selectedTests[i].Name + " " + (j + 1).ToString(), typeof(Tuple<int, string>));
}

// Create rows
for (int k = 0; k < tuple.Item2.Count; k++) {
var newRow = dt.NewRow();
dt.Rows.Add(newRow);
}

...
dt.Rows[k][i + m] = new Tuple<int, string>(n, str);

然后我设置这个DataTable到我的DataGrid我只想显示属性 Item2从元组中,我现在需要保留元组实例。并且无法定义我的列来设置 displaymemberPath因为是自动生成的。

    <DataGrid  x:Name="dataGrid" LoadingRow="dataGrid_LoadingRow_1" ItemsSource="{Binding DataTable}" DisplayMemberPath="{Binding Item2}">

一直以来,我的数据网格都将我的元组转换为字符串,如下所示:

enter image description here

最佳答案

如本 question说,您可以设置与代码隐藏的绑定(bind)。

因此,您可以订阅 yourgrid_AutoGeneratingColumn 事件并执行此操作:

(e.Column as DataGridTextColumn).Binding = new Binding("Title");

当然,您应该通过一些解决方案将您的 ColumnName 传递到 AutoGeneratingColumn 事件中...

关于c# - 如何在 DataGrid 中设置 DisplayMemberPath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14433200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com