【发布时间】:2014-10-30 05:18:56
【问题描述】:
在 ListBoxItem 上,我有一个这样的 MouseDoubleClick 事件:
<ListBox HorizontalAlignment="Left" Height="84" Margin="97,599,0,0" VerticalAlignment="Top" Width="88">
<ListBoxItem MouseDoubleClick="Ajout_MouseDoubleClick" Name="Ajouts" Content="Ajouts"/>
The event is as follow:
private void Ajout_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
DbSet<Resultat> res = cnn.Resultat;
var add = from a in res
where a.Remarque.Equals("Ajoute")
select new { a.Groupe_D_alerte, a.LibelléTOTApres, a.LibelléTOTAvant, a.NomChamp, a.NomTable, a.Remarque, a.SiModifie, a.TOTMPMRQ };
cnn.SaveChanges();
DonneesBrutes.Items.Refresh();
}
它应该做的是实现一个 LinQ 请求到名为 Resultat 的 DbSet 中。这是一个列中的简单过滤器,在本例中为“Remarque”。在 DbSet 中应用此过滤器后,我需要刷新 DbSet "Remarque" 的 DataGrid 绑定目标
DataGrid 如下所示:
<DataGrid x:Name="DonneesBrutes" IsReadOnly="True" ItemsSource="{Binding Path=.ResultatCollection}" Margin="10,65,0,0" AutoGenerateColumns="False" EnableRowVirtualization="True" RowDetailsVisibilityMode="VisibleWhenSelected">
<DataGrid.Columns>
<DataGridTextColumn x:Name="PMRQ" Width="*" Binding="{Binding Path=.TOTMPMRQ}" Header="PMRQ"></DataGridTextColumn>
<DataGridTextColumn x:Name="LibellePMRQ" Width="*" Binding="{Binding Path=.LibelléTOTApres}" Header="Libellé PMRQ"></DataGridTextColumn>
<DataGridTextColumn x:Name="Ligne" Width="*" Binding="{Binding Path=.Remarque}" Header="Ligne"></DataGridTextColumn>
<DataGridTextColumn x:Name="OTM" Width="*" Binding="{Binding Path=.TOTMPMRQ}" Header="OTM"></DataGridTextColumn>
<DataGridTextColumn x:Name="TOTM" Width="*" Binding="{Binding Path=.SiModifie}" Header="TOTM"></DataGridTextColumn>
<DataGridTextColumn x:Name="LibelleTOTM" Width="*" Binding="{Binding Path=.LibelléTOTApres}" Header="Libellé OTM"></DataGridTextColumn>
<DataGridTextColumn x:Name="GA" Width="*" Binding="{Binding Path=.Groupe_D_alerte}" Header="GA"></DataGridTextColumn>
<DataGridTextColumn x:Name="Discipline" Width="*" Binding="{Binding Path=.NomTable}" Header="Discipline"></DataGridTextColumn>
<DataGridTextColumn x:Name="DisciplineSubstituee" Width="120" Binding="{Binding Path=.NomChamp}" Header="Discipline Substituée"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
当我双击时,脚本自行执行,但什么也没发生,我没有看到 DataGrid 中应用的过滤器(要将数据从 DbSet 绑定到 DataGrid,我使用 ObservableCollection)
【问题讨论】:
标签: c# wpf linq datagrid observablecollection