我正在研究WPF数据网格。我正在使用自动生成的列,因为我应该从Excel工作表中检索数据并且列数不固定。
在celleditending事件中,我正在检查它是否是最后一列。如果它是我将新列添加到datatable并刷新网格的ItemsSource,如下所述:
private void grdEmployee_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
if ((e.Column.DisplayIndex + 1) == empDS.Tables[0].Columns.Count)
{
DataColumn col = new DataColumn((e.Column.DisplayIndex + 1).ToString());
empDS.Tables[0].Columns.Add(col);
grdEmployee.ItemsSource = null;
grdEmployee.ItemsSource = empDS.Tables[0].DefaultView;
grdEmployee.Items.Refresh();
}
}
我面临的问题是,当我刷新itemssource时,我正在丢失用户正在编辑的行中的数据。仅当用户完成行编辑时,用户输入的数据才会提交到数据表。
请指导我。如果您需要任何进一步的信息,请告诉我。
此致 Priyank