两个Datagrids具有相同的源,但输出结果略有不同

时间:2016-12-01 14:18:43

标签: c# mysql wpf datagrid

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

奇怪的是:当我的应用程序显示数据时,有一行似乎是'被复制到另一个。 但是,在Mysql Workbench中,同一行根本不重复。看看下面:

Workbench showing view

以上是来自Workbench的数据网格,显示详细信息。 但...

datagrid from my App hallucinating

在我的应用程序中,同一行似乎是重复的。

具有讽刺意味的是 - 在我的应用中 - 我应该指定Format字段只显示' RTGS'付款,同样重复'行将在结果中显示。尽管渲染' Cash'在Format字段中。

填充此Datagrid的代码:

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);

知道造成这种行为的原因是什么?除了前几列,这些行应该没有任何共同点。那为什么看起来像是覆盖了另一个呢?

1 个答案:

答案 0 :(得分:0)

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

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

它是否仍会覆盖&#39;那一条记录?