Foxtable(狐表)用户栏目专家坐堂 → 首次生成汇总模式就出错


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

主题:首次生成汇总模式就出错

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
首次生成汇总模式就出错  发帖心情 Post By:2014/11/20 14:01:00 [显示全部帖子]

根据狐表提供的示范例子,写的空间代码:

 

Dim t As Table = Tables("教职工信息表")
Dim g As Subtotalgroup   '集合,包括汇总模式下的各个分组设置
t.SubtotalGroups.Clear()  '清除原有的分组
t.GroupAboveData = False  '汇总模式下,分组行是否位于数据行之前
t.TreeVisible = False   '在汇总模式下是否显示目录树
t.SpillNode = True

 

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "岗位工资_实际,薪级工资_实际,教龄津贴,岗位津贴,生活补贴,农村津贴,特级教师补贴,档案工资,班主任津贴,补提考核,岗位扣款,考核提留计,住房补贴,应统发,财政补发,扣个税,缴医保,缴救助,房积金,缴失保,缴养老,统发代扣,实统发,应发考核,考核补发,考核扣款,月实发_考核工资,奖励性_绩效工资,实发合计"
g.Caption = "总计"
t.SubtotalGroups.Add(g)
t.Subtotal()    '生成汇总模式,首次运行就出错
t.ShowCell(t.Rows.Count(True) - 1, 0) '显示最后一行

 

其中 t.Subtotal() 在首次运行时就出错,第二次运行就没错,请教这是怎么办呢?  

 

 

 


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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/11/20 16:00:00 [显示全部帖子]

调用的目标发生了异常

未将对象引用设置到对象的实例


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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/11/20 16:00:00 [显示全部帖子]

   在 UserCode.DrawCell(DrawCellEventArgs e)
   --- 内部异常堆栈跟踪的结尾 ---

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/11/20 16:24:00 [显示全部帖子]

问题已经找到,我在其他窗体中调用绑定("教职工信息表")时,为了一些颜色显示,而对此表设置了DrawCell事件,如果我把那些事件删除,则问题消失,请教:如果不删除DrawCell事件,这里应怎么处理?

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/11/20 16:31:00 [显示全部帖子]

我找出具体冲突的代码部分,这样有针对性

 


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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/11/20 16:34:00 [显示全部帖子]

DrawCell 代码中引起冲突的代码找到了:

 

DataTables("教职工信息表").AddUserStyle("a", Color.Red, Color.White)
If e.Row(e.Col.Name) <> e.Row.DataRow.OriginalValue(e.Col.Name) Then
    e.Style = "a"
End If

 

这是参考说明书 

7.369 OriginalValue中的代码

请教如何避免这个冲突


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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/11/20 16:59:00 [显示全部帖子]

哦,知道了,是在单元格不是空的时候才执行这个绘制代码,十分感谢,我试一下!


 回到顶部