以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]照着帮助写的代码报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83634)

--  作者:hotday1972
--  发布时间:2016/4/13 17:14:00
--  [求助]照着帮助写的代码报错

代码如下:

Dim dt As DataTable
Dim b As New GroupTableBuilder("统计表1",DataTables("经验教训"))
b.Groups.AddDef("编制日期",DateGroupEnum.Year,"年")
b.Groups.AddDef("编制日期",DateGroupEnum.Month,"月")
b.Groups.AddDef("问题分类")
b.Totals.AddDef("报告编号",AggregateEnum.Count,"记录数") \'根据不重复值列来统计记录数,也就是记录数
dt = b.Build(False) \'参数设置为False,生成一个临时表,不在主界面显示
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "年|月|问题分类")
trv.StopRedraw
For Each nd As WinForm.TreeNode In trv.AllNodes
    Dim Year As Integer = nd.DataRow("年")
    Dim Month As Integer = nd.DataRow("月")
    Dim Product As String = nd.DataRow("问题分类")
    Select Case nd.Level
        Case 0
            nd.Text = nd.text & "年(" & dt.Compute("Sum(记录数)","年 = " & Year) & "条)"
        Case 1
            nd.Text = nd.text & "月(" & dt.Compute("Sum(记录数)","年 = " & Year & " And 月 = " & Month) & "条)"
        Case 2
            nd.Text = nd.text & "(" & nd.DataRow("记录数") & "条)"
    End Select
Next
trv.Nodes.Insert("记录总数","记录总数: (" & dt.Compute("Sum(记录数)") & "条)",0)
trv.ResumeRedraw

 

错误如附件


图片点击可在新窗口打开查看此主题相关图片如下:错误.jpg
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/4/13 17:47:00
--  

 首先,把项目的bin文件夹删除,重新打开项目测试一次;

 

 如果还报错的话,把你的项目发上来测试。


--  作者:hotday1972
--  发布时间:2016/4/13 21:31:00
--  

删除Bin测试了,不解决问题。

 

通过注释,发现注释掉这句就没有问题

 

dt = b.Build(False) \'参数设置为False,生成一个临时表,不在主界面显示

 

为什么呢?


--  作者:大红袍
--  发布时间:2016/4/13 21:37:00
--  

可能有点问题,你直接build吧,最后卸载即可。

 

DataTables.UnLoad("统计表1")


--  作者:hotday1972
--  发布时间:2016/4/13 21:52:00
--  

你是说把参数拿掉,改成

dt = b.Build()

 

最后加上

DataTables.UnLoad("统计表1")

 

 

问题还在,没解决


--  作者:大红袍
--  发布时间:2016/4/13 22:04:00
--  

b.Build()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree("统计表1", "年|月|问题分类")

 

-------还不行就上传实例。


--  作者:hotday1972
--  发布时间:2016/4/14 5:39:00
--  

重做一个项目,改为内部表这个问题没出现。

 

另外,这段代码是写在窗口的AfterLoad事件在,在AddNew的button里也写这段代码,一模一样却不报错


--  作者:Hyphen
--  发布时间:2016/4/14 8:45:00
--  
出错时代码写在什么地方的?
--  作者:大红袍
--  发布时间:2016/4/14 9:34:00
--  
以下是引用hotday1972在2016/4/14 5:39:00的发言:

重做一个项目,改为内部表这个问题没出现。

 

另外,这段代码是写在窗口的AfterLoad事件在,在AddNew的button里也写这段代码,一模一样却不报错

 

预览的时候出错?直接应用是否出错?把你的项目发上来测试一下。


--  作者:hotday1972
--  发布时间:2016/4/14 10:04:00
--  
以下是引用大红袍在2016/4/14 9:34:00的发言:

 

预览的时候出错?直接应用是否出错?把你的项目发上来测试一下。

项目50多兆,还带个Access数据库,太大了。

 

预览出错,直接引用也错。是写在AfterLoad事件里的。但是另一断写在新建的按钮里的不出错。