以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 合计行始终可见新思路及遇到的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=42090) |
||||
-- 作者:jnletao -- 发布时间: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 现在遇到了部分问题,见截图。求大能再优化下 ![]() ![]()
|
||||
-- 作者:jnletao -- 发布时间:2013/11/4 10:44:00 -- ![]() |
||||
-- 作者:rjh4078 -- 发布时间:2013/11/4 11:56:00 -- 强顶 这个思路不错 符合实际应用场景 |
||||
-- 作者:lihe60 -- 发布时间:2013/11/4 12:07:00 -- Dim py As Integer = e.Table.BottomVisibleRow-1
这样改一下。 |
||||
-- 作者:jnletao -- 发布时间: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编辑过]
|