我的应用程序要求将WPF DataGrid
控件中所做的更改保存回DataTable
。我已设法将数据从DataGrid
保存到DataTable
,但是,从DataGrid
保存的数据未显示我所做的更改,它只显示已存在的数据第一次填充DataGrid
时。
我到目前为止:
public void UpdateQueueData(object sender, DataGridRowEditEndingEventArgs e)
{
if (e.EditAction == DataGridEditAction.Commit)
{
DataGridRow dgRow = e.Row;
DataRowView rowView = dgRow.Item as DataRowView;
DataRow drItem = rowView.Row;
Queue.Rows.RemoveAt(e.Row.GetIndex());
Queue.ImportRow(drItem);
WriteXML();
}
}
虽然有效,但它不会保存更改,只会保存在DataRow
中更改之前的DataGrid
。
我错过了什么吗?
答案 0 :(得分:1)
private void dataGrid_CurrentCellChanged(object sender, EventArgs e)
{
DataTable dt = ((DataView)dataGridQueue.ItemsSource).ToTable();
/*Set the value of my datatable to the the changed version before
* writing it so a file
*/
dt.WriteXMLScema(...
}
答案 1 :(得分:0)
您在进行更改后是否正在呼叫AcceptChanges?