找回密码
 立即注册

QQ登录

只需一步,快速开始

xjsxjs197
论坛元老   /  发表于:2014-8-27 16:15  /   查看:4458  /  回复:3
下面的方法,理论上来说,不会移动Grid的滚动条:
this.c1FlexGrid1.Select(this.c1FlexGrid1.Row, 1, this.c1FlexGrid1.Row, this.c1FlexGrid1.Cols.Count - 1, false);

但是如果在Grid内部调用,比如点击第一列,需要整行都选中(请注意点击的不是Fixed Col)
类似下面的代码:
private void c1FlexGrid1_Click(object sender, EventArgs e)
        {
            this.c1FlexGrid1.Select(this.c1FlexGrid1.Row, 1, this.c1FlexGrid1.Row, this.c1FlexGrid1.Cols.Count - 1, false);
        }

结果横行滚动条移动到最右边了。
请问是Grid内部问题,还是调用的问题吗?
这个问题,可以解决吗?

3 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2014-8-27 18:42:00
沙发
回复 1楼xjsxjs197的帖子

可以调用BeforeScroll事件,在该事件里判断如果是C1FlexGrid被单击引起的Scroll变动则Cancel不进行Scroll。
代码参考:
  1.         void c1FlexGrid1_BeforeScroll(object sender, RangeEventArgs e)
  2.         {         
  3.             e.Cancel = true;
  4.         }
复制代码

评分

参与人数 1满意度 +5 收起 理由
xjsxjs197 + 5 很好的解决方案,非常感谢!

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
xjsxjs197
论坛元老   /  发表于:2014-8-28 09:19:00
板凳
好的,非常感谢!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-8-28 17:02:00
地板
回复 3楼xjsxjs197的帖子

不客气。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部