数据库表中的Xaml DataGrid绑定
本文关键字:DataGrid 绑定 Xaml 数据库 | 更新日期: 2023-09-27 18:19:38
我有一个由xaml代码生成的数据网格,如下所示:
<DataGrid Name="DonneesBrutes" ItemsSource="{Binding Resultat}" Margin="10,65,0,0" AutoGenerateColumns="True" ></DataGrid>
我正试图将它绑定到我的数据库中的一个表,名为BDDInterne的数据库和名为Resultat的表。我使用实体框架5 创建了这个数据库
我找到了
ItemsSource="{Binding ...}"
但我只看到了在xaml.cs上创建数据的例子,而没有看到数据库中的表。
希望我提供了足够的信息。如果有什么遗漏,我当然可以更新我的帖子。
如果有人已经做了这种绑定,它可以帮助我
提前谢谢。
第1版:
这是生成Resultat:的代码
public partial class Resultat
{
public string NomTable { get; set; }
public string Groupe_D_alerte { get; set; }
public string NomChamp { get; set; }
public string TOTMPMRQ { get; set; }
public string SiModifie { get; set; }
public string LibelléTOTAvant { get; set; }
public string LibelléTOTApres { get; set; }
public string Remarque { get; set; }
}
您不使用EF直接绑定到数据库。
我将如何处理它(使用MVVM模式):
- 视图上的
DataGrid
会将ItemsSource
绑定到视图模型上的一个属性,该属性将是类的集合,类似于ResultatCollection
。该数据网格中的列将绑定到该类类型的属性 - 我的VM将使用对一个服务的调用,该服务使用EntityFramework来填充
ResultatCollection
,并使用适合我试图显示的内容的查询。对你来说,也许这就是一切
在视图模型属性声明中:
private ObservableCollection<Resultat> _resultatCollection;
public ObservableCollection<Resultat> ResultatCollection
{
get { return _resultatCollection; }
set
{
if (value == _resultatCollection) return;
_resultatCollection = value;
RaisePropertyChanged(() => ResultatCollection);
}
}
在虚拟机的某个时刻,我会调用返回我的数据的服务,然后当它返回数据时,我会用结果填充我的集合,类似这样:
ResultatCollection = new ObservableCollection(loadOp.Entities);
是的,这一切都假设视图的DataContext是视图模型。。。