在SourceGrid中获取选定的开始和结束单元格位置

时间:2017-09-26 06:47:59

标签: c# range

enter image description here

从上图中,我想得到两个分别返回StartPoin(2,0)和EndPoint(4,2)的结果。

我搜索了google和stackoverflow,但一无所获。

任何人都有好主意?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用正在使用的控件的SelectedCells属性。这是所有选定单元格的数组。

现在您需要找到具有最低RowIndexColumnIndex(即起点)的单元格以及具有最高RowIndexColumnIndex的单元格(即终点)。

它应该是这样的(你找到你的情况下使用的变量。

伪代码:

Cell StartPoint = null;
Cell EndPoint = null,
foreach(Cell cell in gridControl.SelectedCells){
   if(StartPoint == null)
      StartPoint = cell;
   else if(cell.RowIndex <= StartPoint.RowIndex && cell.ColumnIndex <= StartPoint.ColumnIndex ){
      StartPoint = cell;
   }
   if(EndPoint == null)
      EndPoint = cell;
   else if(cell.RowIndex >= EndPoint .RowIndex && cell.ColumnIndex >= EndPoint .ColumnIndex ){
      EndPoint = cell;
   }
}

答案 1 :(得分:0)

尝试多次。

我终于得到了答案。

使用&#34; [sourceGridName] .Selection.GetSelectionRegion()&#34;方法