假设你有一个包含多个 CheckBox 的 DataGrid,每个 CheckBox 对应一行数据,每行数据都有一个 id 列,你想要获取所有选中行的 id 值,可以按照以下步骤操作:

  1. 给 DataGrid 添加一个 SelectionChanged 事件:
<DataGrid SelectionChanged='DataGrid_SelectionChanged'>
  1. 在事件处理程序中,遍历 DataGrid 的 SelectedItems 属性,找到所有选中行的 id 值:
private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    List<int> selectedIds = new List<int>();
    foreach (var selectedItem in dataGrid.SelectedItems)
    {
        DataRowView row = selectedItem as DataRowView;
        if (row != null)
        {
            int id = (int)row['id'];
            selectedIds.Add(id);
        }
    }
    // selectedIds 就是所有选中行的 id 值
}

在上面的代码中,我们首先定义了一个 List 变量 selectedIds,用于存储所有选中行的 id 值。然后使用 foreach 循环遍历 DataGrid 的 SelectedItems 属性,获取每个选中行的 DataRowView 对象。DataRowView 对象包含了该行的所有数据,可以通过索引器访问每一列的值。在这里,我们通过索引器获取了 id 列的值,并将其添加到 selectedIds 列表中。最后,selectedIds 就是所有选中行的 id 值。

注意:上面的代码中假设 id 列的类型为 int,如果不是 int 类型,需要根据实际情况进行修改。

WPF DataGrid 获取选中行 ID 值的简单方法

原文地址: https://www.cveoy.top/t/topic/nk7b 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录