两个Datagrids具有相同的源,但输出的结果略有不同
问题描述:
我有一个DataGrid
的视图。这DataGrid
,在我的ViewModel绑定到List
。 我的ViewModel通过使用EF6和MySQL 5.6来填充这个列表。它从视图而不是表格中检索数据。两个Datagrids具有相同的源,但输出的结果略有不同
奇怪的是:当我的应用程序显示数据时,有一行'似乎'被复制到另一行。 但是,在Mysql Workbench中,同一行根本不重复。看看下面:
以上是从Workbench显示的细节,因为它们的数据网格。 但是......
在我的应用程序在同一行似乎被复制。
具有讽刺意味的是 - 在我的应用程序中 - 我应该指定Format
字段只显示'RTGS'付款,同一'重复'行将在结果中显示。尽管在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);
任何想法是什么导致了这种行为?除前几列外,这些行应该没有任何共同之处。那么,为什么看起来一个人正在覆盖另一个?
答
如果您根据收据编号指定DistinctBy(),它有什么区别吗?即:
var ContributionsQuery = (((LogicApp)Application.Current).ContextHeavy.viewcontributionsjournals.Where(
t => t.Captured > MinRequestedDate
&& t.Captured < MaxRequestedDate)).DistinctBy(a => a.ReceiptNo);
它仍然'覆盖'该记录吗?
嗨。抱歉耽搁了。我只有互联网艺术作品。该解决方案确实删除了其中一行。但它不是被覆盖的。原来,我的观点从左连接到内连接变成了一个骗局。 – Offer