找回密码
 立即注册

QQ登录

只需一步,快速开始

xiwu

中级会员

97

主题

445

帖子

910

积分

中级会员

积分
910

活字格认证

xiwu
中级会员   /  发表于:2012-9-12 20:58  /   查看:5030  /  回复:3
spread水平滑动条和垂直滑动条,它默认 的滑动的范围是spread表格的所有行、列,这样,滑动一小点,就可能超出很多,很难定位到我想要的位置,就失去了它存在的价值,我想跟excel一样,滑动的范围仅是有数据的范围,不知道能否实现

3 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-9-13 09:44:00
沙发
Spread和Excel之间有这样的一个差异,Excel默认的行列数是实际有数据的最大区域,如果拖动滚动条到最大列数/行数时会自动增加行列数,
Spread在没有设置行列数时,默认是将没有数据的行列都显示出来,所以,一拖动滚动条就可能滑动了多行/列,像这种情况,你可以明确设置Spread的行列数,这样滑动就会在你有数据的区域内
回复 使用道具 举报
xiwu
中级会员   /  发表于:2012-9-14 10:25:00
板凳
spread里设置了行列数以后,这个区域之外的单元格就没有了,后续操作可能会用到更大区域的单元格,这种如何处理。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-9-14 14:26:00
地板
这一点可以模仿Excel的做法,在点击滚动条上的按钮时动态改变行列数,比如点击水平滚动条的【向右】按钮或者垂直滚动条的【向下】按钮:
  1.     private void Form1_Load(object sender, EventArgs e)
  2.     {

  3.         fpSpread1.ActiveSheet.RowCount = 50;
  4.         fpSpread1.ActiveSheet.ColumnCount = 20;

  5.         fpSpread1.HorizontalScrollBar.ButtonClick += new FarPoint.Win.Spread.FpScrollBarButtonClickEventHandler(HorizontalScrollBar_ButtonClick);
  6.         fpSpread1.VerticalScrollBar.ButtonClick += new FarPoint.Win.Spread.FpScrollBarButtonClickEventHandler(VerticalScrollBar_ButtonClick);

  7.     }

  8.     void VerticalScrollBar_ButtonClick(object sender, FarPoint.Win.Spread.FpScrollBarButtonClickEventArgs e)
  9.     {
  10.         if (fpSpread1.GetViewportBottomRow(0) == fpSpread1.ActiveSheet.RowCount)
  11.         {
  12.             if (e.Button.ChangeType == FarPoint.Win.Spread.ChangeType.SmallChange)
  13.             {
  14.                 fpSpread1.ActiveSheet.RowCount += 1;
  15.             }
  16.         }
  17.     }

  18.     void HorizontalScrollBar_ButtonClick(object sender, FarPoint.Win.Spread.FpScrollBarButtonClickEventArgs e)
  19.     {
  20.         if (fpSpread1.GetViewportRightColumn(0) == fpSpread1.ActiveSheet.ColumnCount)
  21.         {
  22.             if (e.Button.ChangeType == FarPoint.Win.Spread.ChangeType.SmallChange)
  23.             {
  24.                 fpSpread1.ActiveSheet.ColumnCount += 1;
  25.             }
  26.         }            
  27.     }
复制代码



6015_Scroll.zip (10.17 KB, 下载次数: 92)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部