仅将DataGrid选定的行获取到DataTable

时间:2018-07-15 06:25:30

标签: c# .net wpf datatable datagrid

我只想将DataGrid选中的单行获取到DataTable。以下是我的代码

DataRowView rowSelected = gd.SelectedItem as DataRowView;
OrignalSelectedRow = rowSelected.DataView.ToTable();
label23.Content = OrignalSelectedRow.Rows.Count;

问题是label23.Content显示DataGrid具有的总行数。

我的问题很简单,那就是我只想从DataGrid到DataTable获取选定的行,但是当我在dataTable上应用rows.count时,它将返回我dataGrid拥有的总行数。这意味着它不只是复制所选行,而是复制整个dataGrid。

请帮助我,以便我只能在DataTable中获得单个选定的行。

1 个答案:

答案 0 :(得分:0)

通过克隆现有DataTable来创建新的DataRowView rowSelected = gd.SelectedItem as DataRowView; DataTable newTable = rowSelected.DataView.Table.Clone(); newTable.Rows.Add(rowSelected.Row.ItemArray); ,然后仅向其中添加所选行:

const array = [
  {
    id: '1',
    name: 'jonathan',
    status: 'y',
  },
  {
    id: '1',
    name: 'hendra',
    status: 'n',
  },
];

const totalStatusY: number =  array.reduce(
  (nbStatusY, user) =>
    user.status === 'y' ?
      nbStatusY + 1 :
      nbStatusY,
    0
);