方法名称 | 分类 | 说明 |
Focus | 定位 | 激活当前表格。 |
HitTest | 定位 | 根据指定的X、Y坐标获得相应区域属于哪种类型。 |
IsInDataZone | 定位 | 判断一个行号是否在数据区域内。 |
IsCellInDataArea | 定位 | 判断指定单元格是否属于数据区域 |
GetCellRange | 选区 | 获得一个单元格区域。 |
Select | 选区 | 选择一个单元格或一个区域。 |
ShowCell | 定位 | 将单元格滚动到当前可以看到的位置。 |
Vb.Net |
Dim tbl As SmGrid=Proj.CurrentSmGrid '一、区域选择并定位 '选择指定单元格,第一个参数为行号,第二个参数为列号 tbl.Select(2,3) '选择数据区域第一个单元格 tbl.Select(tbl.Rows.Fixed,tbl.Cols.Fixed) '第三个参数,可以控制是否同时移动位置,让选择单元格展示在控件可见区域,让用户可以直接看到 tbl.Select(tbl.Rows.Fixed,tbl.Cols.Fixed,True) '如果我们想选择了某个区域,但是也不希望表格跳转显示它,就可以设置第三个参数为False。如果不设置第三个参数的话,跟设置为True的效果一致。 tbl.Select(tbl.Rows.Fixed,tbl.Cols.Fixed,False) '选择一个区间范围,从第一个单元格开始,向下多选择2行,向右再多选择3列,共3行4列 tbl.Select(tbl.Rows.Fixed,tbl.Cols.Fixed,tbl.Rows.Fixed+2,tbl.Cols.Fixed+3) '二、定位 '定位到指定单元格 tbl.ShowCell(1,1) '我们还可以通过下面的方式定位 tbl.LeftCol=tbl.Cols.Fixed '定位到最右边 tbl.RightCol=tbl.Cols.Count-1 '定位到最顶端 tbl.TopRow=tbl.Rows.Fixed '如果两个表相同步定位的话,比如主表与副表之间的同步就可以用下面的方法 '可以考虑放在表AfterScroll事件中去 tbl.ScrollPosition=tbl.SourceSmGrid.ScrollPosition |
C# |
SmGrid tbl = Proj.CurrentSmGrid; // 一、区域选择并定位 // 选择指定单元格,第一个参数为行号,第二个参数为列号 tbl.Select(2, 3); // 选择数据区域第一个单元格 tbl.Select(tbl.Rows.Fixed, tbl.Cols.Fixed); // 第三个参数,可以控制是否同时移动位置,让选择单元格展示在控件可见区域,让用户可以直接看到 tbl.Select(tbl.Rows.Fixed, tbl.Cols.Fixed, true); // 如果我们想选择了某个区域,但是也不希望表格跳转显示它,就可以设置第三个参数为False。如果不设置第三个参数的话,跟设置为True的效果一致。 tbl.Select(tbl.Rows.Fixed, tbl.Cols.Fixed, false); // 选择一个区间范围,从第一个单元格开始,向下多选择2行,向右再多选择3列,共3行4列 tbl.Select(tbl.Rows.Fixed, tbl.Cols.Fixed, tbl.Rows.Fixed + 2, tbl.Cols.Fixed + 3); // 二、定位 // 定位到指定单元格 tbl.ShowCell(1, 1); // 我们还可以通过下面的方式定位 tbl.LeftCol = tbl.Cols.Fixed; // 定位到最右边 tbl.RightCol = tbl.Cols.Count - 1; // 定位到最顶端 tbl.TopRow = tbl.Rows.Fixed; // 如果两个表相同步定位的话,比如主表与副表之间的同步就可以用下面的方法 // 可以考虑放在表AfterScroll事件中去 tbl.ScrollPosition = tbl.SourceSmGrid.ScrollPosition; |