Я работаю над сеткой данных 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();
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что при обновлении источника элементов я теряю данные из строки, которую пользователь редактировал. Данные, введенные пользователем, становятся доступными для данных, только когда пользователь заканчивает редактирование строки.
Пожалуйста, ведите меня. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
С уважением,
Priyank