【问题标题】:Two Datagrids have the same source, but output slightly different results两个 Datagrids 具有相同的源,但输出的结果略有不同
【发布时间】:2017-04-16 05:28:49
【问题描述】:

我有一个DataGrid 的视图。这个DataGrid 绑定到我的ViewModel 中的List。 我的 ViewModel 使用 EF6 和 MySQL 5.6 填充此列表。它从视图而不是表中检索数据。

奇怪的是:当我的应用程序显示数据时,有一行“似乎”与另一行重复。 但是,在 Mysql Workbench 中,这一行根本不会重复。往下看:

上面是来自 Workbench 的数据网格,显示了它们的详细信息。 但是……

在我的应用中,同一行似乎重复了。

具有讽刺意味的是 - 在我的应用程序中 - 我是否应该指定 Format 字段以仅显示“RTGS”付款,结果中将出现相同的“重复”行。尽管在 Format 字段中呈现“现金”。

填充此数据网格的代码:

xaml

<DataGrid ItemsSource="{Binding ContributionsList, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                  AutoGenerateColumns="True"/>

视图模型

var ContributionsQuery = ((LogicApp)Application.Current).ContextHeavy.viewcontributionsjournals.Where(
                        t => t.Captured > MinRequestedDate
                        && t.Captured < MaxRequestedDate);

                    ContributionsList = new List<viewcontributionsjournal>(ContributionsQuery);

知道是什么导致了这种行为吗?除了前几列之外,这些行应该没有任何共同点。那么为什么看起来一个覆盖另一个呢?

【问题讨论】:

    标签: c# mysql wpf datagrid


    【解决方案1】:

    如果根据收据号指定 DistinctBy() 有什么不同吗?即:

    var ContributionsQuery = (((LogicApp)Application.Current).ContextHeavy.viewcontributionsjournals.Where(
                            t => t.Captured > MinRequestedDate
                            && t.Captured < MaxRequestedDate)).DistinctBy(a => a.ReceiptNo);
    

    它仍然“覆盖”那条记录吗?

    【讨论】:

    • 嗨。抱歉耽搁了。我只有互联网艺术作品。该解决方案确实删除了其中一行。但它不是被覆盖的。事实证明,将我的视图从左连接更改为内连接确实起到了作用。
    猜你喜欢
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多