我只想将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中获得单个选定的行。
答案 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
);