将类属性多重绑定到列标题和数据中

本文关键字:标题 数据 绑定 属性 | 更新日期: 2023-09-27 17:51:12

场景:
我试图绑定一个自定义类的IEnumerable列表,该列表由3个属性组成:Date、Product和amount
我的listview/gridview已经设置了所有列,这些列将随着生产的产品而动态变化。

问题:
由于我需要按产品绑定数据,这些产品也是列,所以如果我按产品绑定,我将看不到金额,如果我按金额绑定,我会在行中的任何地方看到它。

是否有任何选项可以多重绑定一列来标识产品,然后将金额放入单元格中?

这是我正在使用的类:

    public class MonthlyProducts
{
    public string DateID { get; set; }
    public string ProductID { get; set; }
    public int Amount { get; set; }
}

我不能发布网格视图代码,因为它是动态变化的,但这是我需要放置多绑定的地方,我为每个产品运行以下代码:

    GridViewColumn TempColumn = new GridViewColumn();
    TempColumn.DisplayMemberBinding = ???;
    TempColumn.Header = item.ProductID;
    TempColumn.Width = 100;
    MonthlyGridView.Columns.Add(TempColumn);

我必须通过代码来完成,因为每次客户需要报告时,我都会构建列表视图
而且我不需要它来更新,因为我看到人们想更新单元格,我不需要。这是针对客户端将运行的报表,并在查看报表后关闭窗口。

请帮我一下,提前谢谢。

将类属性多重绑定到列标题和数据中

理想情况下,您应该添加两个GridViewTextColumns.

除此之外,您可以在Code-behind/ViewModel中设置MultiBinding