找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng 讲师达人认证 悬赏达人认证

超级版主

299

主题

7874

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
13131

活字格认证圣诞拼拼乐微信认证勋章讲师达人元老葡萄悬赏达人

ZenosZeng 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-9-14 15:18  /   查看:5798  /  回复:1
在 Spread 中默认会显示没有数据的行和列,不过有时候我们只希望显示有数据的最大区域,这时候我们通过以下代码来实现:
  1.     fpSpread1.ActiveSheet.RowCount = fpSpread1.ActiveSheet.NonEmptyRowCount;
  2.     fpSpread1.ActiveSheet.ColumnCount = fpSpread1.ActiveSheet.NonEmptyColumnCount;
复制代码


然而,有时候我们不仅需要只显示有数据的区域,我们还希望【当滚动条滚动到最大显示范围时,能够动态增加行/列数】,比如:当前SheetView的RowCount = 50;ColumnCount=20;,当滚动横向滚动条至最右边时,已经显示第20列,此时我再滚动横向滚动条,我希望能够增加一列。

这时候我们可以通过Spread滚动条的事件来实现这一需求:
  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {

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

  5.             //fpSpread1.ActiveSheet.RowCount = fpSpread1.ActiveSheet.NonEmptyRowCount;
  6.             //fpSpread1.ActiveSheet.ColumnCount = fpSpread1.ActiveSheet.NonEmptyColumnCount;


  7.             fpSpread1.HorizontalScrollBar.ButtonClick += new FarPoint.Win.Spread.FpScrollBarButtonClickEventHandler(HorizontalScrollBar_ButtonClick);
  8.             fpSpread1.VerticalScrollBar.ButtonClick += new FarPoint.Win.Spread.FpScrollBarButtonClickEventHandler(VerticalScrollBar_ButtonClick);
  9.         }

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

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


Vs2010 + Spread .NET 6.0.3505 + C#
6015_Scroll_C#.zip (10.19 KB, 下载次数: 583)

1 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-10-7 10:03:00
沙发
WebApplication5.zip (3.63 MB, 下载次数: 255)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部