2013-05-02 79 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()。我通常將可觀察的集合傳遞給數據網格,以便更易於管理。