private void SaveSheetListDetails()
{
DataTable DeleteTable = TreeDataView.GetChanges(DataRowState.Deleted);
if (DeleteTable != null)
{
foreach (DataRow row in DeleteTable.Rows)
{
DeleteNewSheetListDetails(row);
}
} DataTable UpdataTable = TreeDataView.GetChanges(DataRowState.Modified);
if (UpdataTable != null)
{
foreach (DataRow row in UpdataTable.Rows)
{
UpdateNewSheetListDetails(row);
}
}
DataTable InsertTable = TreeDataView.GetChanges(DataRowState.Added);
if (InsertTable != null)
{
foreach (DataRow row in InsertTable.Rows)
{
DataRow[] rows = TreeDataView.Select("line =" + Convert.ToInt32(row["line"]));
if (rows.Length > 0)
{
InsertNewSheetListDetails(rows[0]);
}
}
}
}
数据表绑了1个DataTable (TreeDataView)
窗体上面更新操作了 并不能通过DataRowState.Modified 获得到改变的数据
TreeDataView.GetChanges(DataRowState.Modified);这样就不能进行更新数据库的操作大家是如何获得界面更新的数据去更新数据库呢
如果DataTable是通过Bindingsource和UI绑定的,还需要调用Bindings。EndEdit();然后在检查DataTable,应该是有改变的