找回密码
 立即注册

QQ登录

只需一步,快速开始

maopaopao

高级会员

7

主题

23

帖子

1434

积分

高级会员

积分
1434

活字格认证

maopaopao
高级会员   /  发表于:2014-7-16 10:46  /   查看:6775  /  回复:8
请教斑竹:如何获得选中单元格的行、列值,如未选中单元格返回错误信息!谢谢!

8 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-7-16 15:14:00
沙发
回复 1楼maopaopao的帖子

请参考以下代码:

  1.             CellRange cr = this.c1FlexGrid1.Selection;
  2.             if (cr==null)
  3.             {
  4.                 MessageBox.Show("没有选择单元格");
  5.             }
  6.             else
  7.             {
  8.                 int topRow = cr.TopRow;
  9.                 int bottomRow = cr.BottomRow;
  10.                 int leftCol = cr.LeftCol;
  11.                 int rightCol = cr.RightCol;
  12.             }
复制代码
回复 使用道具 举报
maopaopao
高级会员   /  发表于:2014-7-16 17:12:00
板凳
if (cr==null) 这条语句报错:运算符“==”无法应用与c1flexgrid.cellrange和<null>类型的操作数。
回复 使用道具 举报
maopaopao
高级会员   /  发表于:2014-7-16 17:16:00
地板
请问:c1flexgrid.selection.c1和c1flexgrid.selection.r1 是否也可以定位选中单元格的行、列索引值?另外,我设计的单元格只可以单选。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-16 17:35:00
5#
回复 4楼maopaopao的帖子

抱歉,CellRange 是个结构体所以不能判空,FlexGrid 默认至少选择一个单元格。因此使用以下代码即可:

  1. CellRange cr = this.c1FlexGrid1.Selection;
  2. int topRow = cr.TopRow;
  3. int bottomRow = cr.BottomRow;
  4. int leftCol = cr.LeftCol;
  5. int rightCol = cr.RightCol;
复制代码


同时使用 r1 r2 c1 c2 也可以获取。
回复 使用道具 举报
maopaopao
高级会员   /  发表于:2014-7-17 08:39:00
6#
CellRange cr = this.c1FlexGrid1.Selection;
int  toprow = cr.TopRow;
如果c1FlexGrid1没被选中,toprow的值是否为0?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-17 12:08:00
7#
回复 6楼maopaopao的帖子

你好,
FlexGrid 至少会选择一个单元格,默认为Cell[1,1],因此不会出现为0 的情况。
回复 使用道具 举报
maopaopao
高级会员   /  发表于:2014-7-17 14:28:00
8#
明白了,非常谢谢!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-17 16:24:00
9#
回复 8楼maopaopao的帖子

恩,不客气,有其他问题欢迎继续交流。
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢

评分

参与人数 1满意度 +5 收起 理由
maopaopao + 5 谢谢!问题已解决了!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部