2013-05-02 80 views
0

我以这种方式显示数据为DataGrid更新数据网格EF

var display = (from r in ve.Folders.Include("Hosting_Company1") 
       select new RepoClass{ id = r.Folder_Id,name= r.Full_Name, hosName= r.Hosting_Company1.Housing_Name }).ToList(); 

dg1.ItemsSource = display; 

,并在XAML

<DataGrid CanUserAddRows="False" AutoGenerateColumns="False" Name="dg1"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Binding="{Binding Path=id, Mode=TwoWay}" Header="id"/> 
     <DataGridTextColumn Binding="{Binding Path=name, Mode=TwoWay}" Header="Name" /> 
     <DataGridTextColumn Binding="{Binding Path=hosName, Mode= TwoWay}" Header="company" /> 
    </DataGrid.Columns> 
</DataGrid> 

如何再更新数据到EF

+0

你更新了哪些数据?如果'hosName'是可更新的,则可能会引入歧义,因为它将在网格中重复。无论如何,在更新网格中的值之后,您必须将更改写入原始实体和“SaveChanges”。 – 2013-05-02 19:09:11

+0

@GertArnold对不起,我真的不明白。 – user1095549 2013-05-02 19:27:55

+0

当用户更改网格中的名称并按下保存更改按钮时,不会保存更改。我如何才能保存更改? – user1095549 2013-05-02 19:35:44

回答

0

如果ve是你的datacontext,那么你需要调用ve.SaveChanges()。我通常将可观察的集合传递给数据网格,以便更易于管理。