回复 1楼founderedu1的帖子
可以通过以下代码实现:
- public MainPage()
- {
- InitializeComponent();
- //gc1.mode
- gc1.TopRowChanged += gc1_TopRowChanged;
-
- }
- void gc1_TopRowChanged(object sender, GrapeCity.Windows.SpreadSheet.UI.ViewportEventArgs e)
- {
- int increasment =Math.Abs(e.NewIndex - e.OldIndex);
- this.gc1.GetViewportTopRow(0);
- if (increasment!=1)
- {
- if (e.NewIndex > e.OldIndex)
- {
- gc1.SuspendEvent();
- this.gc1.SetViewportTopRow(0, e.NewIndex - 2);
- gc1.ResumeEvent();
- }
- else
- {
- gc1.SuspendEvent();
- this.gc1.SetViewportTopRow(0, e.NewIndex + 2);
- gc1.ResumeEvent();
- }
- }
-
- }
复制代码
以上代码还不完善,比如滚动到最顶部或最底部的时候,大体实现思路是这样,还需要你调整。
本身产品不具备这个功能,我会提交给产品组加入到需求列表中,看能否在以后的版本中添加。 |