找回密码
 立即注册

QQ登录

只需一步,快速开始

lzh3452

银牌会员

32

主题

188

帖子

3914

积分

银牌会员

积分
3914

活字格认证

lzh3452
银牌会员   /  发表于:2014-4-23 11:05  /   查看:9485  /  回复:6
1.我希望按下pagedown的时候跳到下一页,并且选中行在最上面。按下pageup时跳到上一页,并且选中行在最上面。以上计算都以当前显示的最上面一行为基准计算翻页。如一页能显示10行,焦点在第一行,下一页就翻到第11行,且第11行在最上面,20行在最下面。焦点在21行,页面最上面一行是12行,此时按上一页应该跳到第2行,且第2行在最上面。
对于这个设置,我想通过SetViewportTopRow来实现,可是奇怪的是,不管我怎么设置,TopRow都不变,这个通过GetViewportTopRow可以看出来,始终都是当前页的最上面那行,而不是我设置的行,这是其一。其二是,我添加的KeyDown和KeyPress方法都不进,只有KeyUp才进。
2.我需要设置Spread不可编辑,现在设置的是行Locked=True,但同时需要设置鼠标样式是箭头,结果没有设成Lock的列鼠标正常,设成Lock的列鼠标又变成十字了。。。
3.Spread的Skin设置的是Classic,就是最丑的那种,现在唯一的问题是,当鼠标移到列头时,会出现虚线框,以前做的都没有,不记得改哪里了。

以上,Spread for .Net 7.0 ,开发语言VB.Net ,VS2012
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……

6 个回复

倒序浏览
lzh3452
银牌会员   /  发表于:2014-4-23 14:05:00
沙发
第三个问题OK了,不知道哪里设置的问题,重新拖了一个Spread设置完就好了。
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……
回复 使用道具 举报
lzh3452
银牌会员   /  发表于:2014-4-23 14:10:00
板凳
第二个也OK了,追加了设置LockedCell时的鼠标样式。
只剩第一个难题了,代码不好用实在头疼啊。
设置代码如下:
Private Sub FpSpread1_KeyUp(sender As Object, e As KeyEventArgs)
If e.KeyData = Keys.PageDown Then
FpSpread1.SetViewportTopRow(FpSpread1_Sheet1.ActiveRowIndex, 0)
End If
End Sub
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-4-23 14:50:00
地板
回复 1楼lzh3452的帖子

1.SetViewportTopRow 问题我没能重现,测试代码如下:

  1.     Private Sub SetTopRpwToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles SetTopRpwToolStripMenuItem.Click
  2.         FpSpread1.SetViewportTopRow(0, 10)
  3.         FpSpread1.ActiveSheet.ActiveRowIndex = 10

  4.         Dim topRow As Integer
  5.         topRow = FpSpread1.GetViewportTopRow(0)
  6.     End Sub
复制代码


KeyDown 和 KeyPress 事件 Spread 确实没有触发,问题原因我需要询问产品组之后给你回复。

2.我的设置代码如下:

  1.         Me.FpSpread1.ActiveSheet.Rows(1).Locked = True
  2.         Me.FpSpread1.SetCursor(FarPoint.Win.Spread.CursorType.LockedCell, Cursors.Arrow)
复制代码


3.设置 Skin 为 Classic 后效果图如下:

Untitled.png

附件是我的测试 Demo,请查看,可以在这个基础上修改重现问题:

12499_VBNET.zip (75.61 KB, 下载次数: 1757)
回复 使用道具 举报
lzh3452
银牌会员   /  发表于:2014-4-23 15:29:00
5#
回复 4楼iceman的帖子

SetViewportTopRow确实可用了,不过效果很不好,会看到虚线框先跳到下面,然后又跳上来。果然还是需要KeyDown才行。
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……
回复 使用道具 举报
lzh3452
银牌会员   /  发表于:2014-4-23 16:11:00
6#
回复 4楼iceman的帖子

不用KeyDown而改用PreviewKeyDown了,虚线框闪一下的问题也通过暂时停止刷新界面的方式解决了。
以上问题已经全部解决完毕。
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-4-23 17:29:00
7#
回复 6楼lzh3452的帖子

你很帅~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部