Foxtable(狐表)用户栏目专家坐堂 → 合计行始终可见新思路及遇到的问题


  共有3870人关注过本帖树形打印复制链接

主题:合计行始终可见新思路及遇到的问题

帅哥哟,离线,有人找我吗?
jnletao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:936 积分:7719 威望:0 精华:0 注册:2013/7/7 13:37:00
合计行始终可见新思路及遇到的问题  发帖心情 Post By:2013/11/4 10:23:00 [只看该作者]

看了程版提供的第二个例了,我引伸思路换了种方式,用e.Table.BottomVisibleRow 代替了e.Table.grid.ScrollPosition,
这种方法的好处在于调整行高不会影响合计显示。
'Dim py As Integer = e.Table.grid.ScrollPosition.y
'Dim gh As Double = e.Table.grid.height
'py = (-py + gh) / 20 - 2

Dim py As Integer = e.Table.BottomVisibleRow

If e.Row.Index = py Then
e.Style = "样式1"
Select Case e.Col.Name
Case "语文"
e.Text = e.Table.Aggregate(AggregateEnum.Sum, 0, e.Col.Index, e.Table.Rows.Count - 1, e.Col.Index)
Case "数学"
e.Text = e.Table.Aggregate(AggregateEnum.Sum, 0, e.Col.Index, e.Table.Rows.Count - 1, e.Col.Index)
Case Else
e.Text = "待定" & py
End Select
End If

现在遇到了部分问题,见截图。求大能再优化下

此主题相关图片如下:eeeeeee.gif
按此在新窗口浏览图片
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:合计显示在底部例子2精典.table



 回到顶部
帅哥哟,离线,有人找我吗?
jnletao
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:936 积分:7719 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/11/4 10:44:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2013/11/4 11:56:00 [只看该作者]

强顶  这个思路不错 符合实际应用场景

 回到顶部
帅哥,在线噢!
lihe60
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6833 积分:43228 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2013/11/4 12:07:00 [只看该作者]

Dim py As Integer = e.Table.BottomVisibleRow-1

 

 这样改一下。


 回到顶部
帅哥哟,离线,有人找我吗?
jnletao
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:936 积分:7719 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/11/4 13:22:00 [只看该作者]

以下是引用lihe60在2013-11-4 12:07:00的发言:

Dim py As Integer = e.Table.BottomVisibleRow-1

 

 这样改一下。

试过了,不过这样的话在正常情况下就是倒数第二行显示合计了。


其实我想在drawcell里加个判断,不过想不到太好的思路

[此贴子已经被作者于2013-11-4 13:24:44编辑过]

 回到顶部