找回密码
 立即注册

QQ登录

只需一步,快速开始

wangmj

论坛元老

14

主题

44

帖子

1万

积分

论坛元老

积分
10158

活字格认证

wangmj
论坛元老   /  发表于:2013-9-7 17:13  /   查看:6608  /  回复:5
你好!
   现在有两个Spread,其中第二个Spread有纵向滚动条,我想拉动第二个Spread的纵向滚动条时,第一个Spread也跟着联动。不知如何处理!
   好像 在 TopLeftChange 事件中可以实现。
   但我现在的Spread中没有 TopLeftChange 事件。不知为何?
   我用的是 Spread 7.0J (日文版)
   期待解决中!!!

5 个回复

倒序浏览
Ally
葡萄城公司职员   /  发表于:2013-9-9 15:59:00
沙发
我在 Spread6.0中尝试了一下您说的用例,可以使用 ScrollTipFetch 事件实现,请参考以下代码:
public Form1()
        {
            InitializeComponent();
            fpSpread1.ScrollTipPolicy = ScrollTipPolicy.Both;
            fpSpread1.ScrollTipFetch += new ScrollTipFetchEventHandler(fpSpread1_ScrollTipFetch);           
        }
        void fpSpread1_ScrollTipFetch(object sender, ScrollTipFetchEventArgs e)
        {
            fpSpread2.SetViewportTopRow(0,e.Row);
        }
回复 使用道具 举报
wangmj
论坛元老   /  发表于:2013-9-9 18:58:00
板凳
Ally  你好!
   根据你的方法我试了一下,好像不能够实现我想要的效果。
    我期望的是 第二个Spread的滚动条上下移动的时候,第一个Spread也跟着移动(第一个Spread滚动条不显示),
也就是说用第二个Spread的纵向滚动条,同时控制两个Spread,让它们进行相同的移动。
sample.png (19.39 KB, 下载次数: 869)
回复 使用道具 举报
Ally
葡萄城公司职员   /  发表于:2013-9-10 09:14:00
地板
你好!以上方法如果不能满足需求可以尝试以下方法。
1 同步垂直方向时:
public Form1()
        {
            InitializeComponent();
            fpSpread1.TopChange += new TopChangeEventHandler(fpSpread1_TopChange);           
        }
        void fpSpread1_TopChange(object sender, TopChangeEventArgs e)
        {
            fpSpread2.SetViewportTopRow(0, e.NewTop);
        }

2 同步水平方向时:
public Form1()
        {
            InitializeComponent();
            fpSpread1.LeftChange += new LeftChangeEventHandler(fpSpread1_LeftChange);           
        }
        void fpSpread1_LeftChange(object sender, LeftChangeEventArgs e)
        {
            fpSpread2.SetViewportLeftColumn(0, e.NewLeft);
        }
回复 使用道具 举报
wangmj
论坛元老   /  发表于:2013-9-10 13:07:00
5#
这个方法好用,
问题解决了。
谢谢,Ally !
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-9-10 13:54:00
6#
回复 5楼wangmj的帖子


有问题欢迎开新帖提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部