请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

清越流年

中级会员

4

主题

12

帖子

554

积分

中级会员

积分
554

活字格认证

最新发帖
清越流年
中级会员   /  发表于:2014-12-24 14:24  /   查看:3993  /  回复:3
C1TrueDBGrid能不能知道grid下面滚动条的位置,再次绑定完数据集后,显示的位置还在那个地方,数据也对应的位置
,开始时如图片1的位置,在绑定玩数据后显示了图片2的位置,能不能将图片2中的位置变得和图片1位置一样

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

3 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2014-12-24 17:04:00
沙发
回复 1楼清越流年的帖子

记下位置,然后使用C1TrueDBGrid.ScrollGrid方法滚动到相应的行列。
语法:
  1. public void ScrollGrid(int cols, int rows);
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
清越流年
中级会员   /  发表于:2014-12-24 17:11:00
板凳
怎么记住当前Grid滚动条的行和列,你回复的代码无法运用
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-12-25 09:44:00
地板
回复 3楼清越流年的帖子

只要自己写代码逻辑就可实现。
1.调用Scroll事件,触发Scroll事件的时候记住当前的C1TrueDBGrid的信息,包含Scroll位置。
代码参考:
  1.    object ActiveGrid;
  2.         void c1TrueDBGrid1_Scroll(object sender, C1.Win.C1TrueDBGrid.CancelEventArgs e)
  3.         {
  4.             ActiveGrid = sender;
  5.         }
复制代码

2.运行时,滚动条滚动,使得Scroll事件被触发,滚动条位置就记录在ActiveGrid中。
3.假设是ButtonClick的时候更改数据源,那么久将滚动条位置放置到之前的地方。
代码参考:
  1.   private void button1_Click(object sender, EventArgs e)
  2.         {     
  3.             int h = (ActiveGrid as C1.Win.C1TrueDBGrid.C1TrueDBGrid).Splits[0].HorizontalOffset;
  4.             int v=(ActiveGrid as C1.Win.C1TrueDBGrid.C1TrueDBGrid).Splits[0].VerticalOffset;
  5.   
  6.             this.c1TrueDBGrid1.DataSource = dt;
  7.             this.c1TrueDBGrid1.Splits[0].HorizontalOffset = h;
  8.             this.c1TrueDBGrid1.Splits[0].VerticalOffset = v;
  9.       
  10.         }
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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