在C#
WPF
中工作。好的,我有一个datagrid
,它在我的项目中绑定到entity framework
。当更新显示的值时,datagrid函数很棒。我使用MyDataEntity.SaveChanges()
将更改推送到database
,一切正常。将新的Datagrid行保存到数据库中
添加新行时出现问题。我在我的XAML中设置了CanUserAddRows="True"
,因此用户可以添加新行。当我必须将新行保存到数据库时,问题就出现了。由于某种原因,SaveChanges()
调用不会更新数据库。我试图做的是将当前行的所有值拉入IList
,然后访问各个值,以便我可以调用MyDataEntities.Add()' on the
RowEditEnding`事件,但是这造成了一些其他问题。主要是,我无法访问IList中的个人价值观。当我查看列表中的数据时,它就在那里,我已经看到它了,我不能将它分配给任何东西。
真的,我的问题是双重的。
1:我怎样才能在新入行保存到我的数据库
2:我如何可以访问的IList
2的值会是一个更好的解决方案,因为这样我可以使用以下代码填充数据库中的其他列以及将数据传递给其他方法以获取数据库中特定列的值。
private void DataGrid_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
{
IList rows = DataGrid.SelectedItems;
TableName tbl = new TableName
{
Name = rows[1].ToString(),
Qty = decimal.Parse(rows[4].ToString()),
Type = rows[6].ToString(),
TQty = ConvertQtoT(rows[4].ToString(), rows[6].ToString(),
OnLIst = true
};
MyDataEntity.TableNames.Add(tbl);
MyDataEntity.TableNames.SaveChanges();
}
}
数据网格不中内置了您插入功能必须实现自己的插入函数插入到你的集合 –