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;
        }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值