WPF ADO.NET没有返回任何结果
本文关键字:返回 任何 结果 ADO NET WPF | 更新日期: 2023-09-27 18:10:51
我有一个使用ADO在WPF应用程序中返回结果到DataGrid的问题。净框架。
第一个记录是文本,第二个也是,第三个是日期(如果有人能给我一个答案如何使这个字符串将是伟大的)。
首先,DataGrid XAML代码<DataGrid AutoGenerateColumns="False" EnableRowVirtualization="True" Grid.ColumnSpan="4" Height="200" HorizontalAlignment="Left" ItemsSource="{Binding Source={StaticResource testViewSource1}}" Margin="113,290,0,0" Name="testDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" VerticalAlignment="Top" Width="319" Loaded="testDataGrid_Loaded">
<DataGrid.Columns>
<DataGridTextColumn x:Name="numerZamowieniaColumn" Binding="{Binding Path=numerZamowienia}" Header="numer Zamowienia" Width="SizeToHeader" />
<DataGridTextColumn x:Name="iloscDostawcowColumn" Binding="{Binding Path=iloscDostawcow}" Header="ilosc Dostawcow" Width="SizeToHeader" />
<DataGridTemplateColumn x:Name="dataUtworzeniaColumn" Header="data Utworzenia" Width="SizeToHeader">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding Path=dataUtworzenia, Mode=TwoWay, ValidatesOnExceptions=true, NotifyOnValidationError=true}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
当这个DataGrid被加载时,我创建了事件处理程序:
zamowienieEntities zam = new zamowienieEntities();
private void testDataGrid_Loaded(object sender, RoutedEventArgs e)
{
IBindingList users = ((from d in zam.Test
select new { d.numerZamowienia, d.iloscDostawcow, d.dataUtworzenia }
) as IListSource).GetList() as IBindingList;
this.testDataGrid.DataContext = users;
}
这是试图使这个工作的许多方法之一,我现在已经坐了几个小时了,但是没有找到任何具体的答案。
当你这样做的时候
ItemsSource="{Binding Source={StaticResource testViewSource1}}"
您将ItemsSource
绑定到某些testViewSource1
资源从而更改DataContext
,就像您在这行
this.testDataGrid.DataContext = users;
不会影响DataGrid
项目的来源。解决问题的一个方法是直接设置ItemsSource
而不是DataContext
this.testDataGrid.ItemsSource = users;
然后你不需要ItemsSource
绑定,或者如果你想设置DataContext
那么你需要将ItemsSource
绑定更改为
ItemsSource="{Binding}"
将ItemSource
绑定到当前DataContext