【发布时间】:2016-04-11 09:48:34
【问题描述】:
我有一个DataTable,它向DataGrid 提供项目。 DataTable 由 CSV 文件填充。我允许用户添加新行,但我不确定如何更新DataTable,然后使用它来更新CSV。
首先,我相信我应该在DataGrid 本身上使用RowEditEnding 事件。这是我尝试过的;
private void OnRowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
{
var dataTable = new DataTable();
var itemsSource = subbieDataGrid.ItemsSource as IEnumerable;
foreach (var item in subbieDataGrid.Items)
{
dataTable.Rows.Add(item);
}
CommonEngine.DataTableToCsv(dataTable, @"C:\Users\dand\Desktop\Subcontractors.csv", ',');
}
但是,我在这里所做的事情有两个问题。首先它不起作用,因为抛出一个错误,说数组比DataTable 长。
其次,当我可以使用原始DataTable 时,我认为创建一个全新的DataTable 并添加原始项目和新项目是低效的,只需将新项目添加到其中并更新@ 987654333@ 文件使用DataTable。
但是,我不确定如何执行此操作。
【问题讨论】:
标签: c# wpf csv datagrid datatable