WPF 中获取DataGrid控件中选择的行号(单行和多行)

1、DataGrid的选择有三种模式

整行、单个 Cell 、单个 Cell 和 点行头选择整行

SelectionUnit="CellOrRowHeader";
SelectionUnit="Cell";
SelectionUnit="FullRow";

我们设置为:SelectionUnit="CellOrRowHeader";

2、获取选中的单行行号

   private bool GetCellXY(DataGrid dg, ref int rowIndex, ref int columnIndex)//获取选中的单行的行和列索引号
{
     var _cells = dg.SelectedCells;//获取选中单元格的列表
            if (_cells.Any())
            {

                rowIndex = dg.Items.IndexOf(_cells.First().Item);
                columnIndex = _cells.First().Column.DisplayIndex;
                return true;
            }
            return false;
}

3、获取选中的多行行号

private bool GetMultiRowNum(DataGrid dg, ref int [] rowIndex)//获取DataGrid选中的多行行号
        {
            rowIndex = new int[dg.SelectedCells.Count];//获取选中行的总数
            if (dg != null && dg.SelectedCells.Count > 0)
            {
                for (int i = 0; i < dg.SelectedCells.Count; i++)
                {
                    rowIndex[i]= dg.Items.IndexOf(dg.SelectedCells[i].Item);
                }
                return true;
            }
                return false;
        }
发布了141 篇原创文章 · 获赞 194 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/kenjianqi1647/article/details/90523113