动态地将列添加到Datagrid

时间:2012-01-03 19:40:04

标签: wpf wpfdatagrid

我正在研究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

0 个答案:

没有答案