以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 自定义加载树报错了。。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=49596)
|
-- 作者:身份不明
-- 发布时间:2014/4/21 9:16:00
-- 自定义加载树报错了。。
窗口的afterload代码:
Dim cmd As New SQLCommand Dim dt As DataTable cmd.C cmd.CommandText = "SELECT DISTINCT Year(日期) As 年, Month(日期) As 月, 客户名称 From {订单}" dt = cmd.ExecuteReader() Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") trv.BuildTree(dt,"年|月|客户名称") trv.Nodes.Insert("加载所有数据",0)
\'加载第一页数据 With DataTables("订单") .LoadFilter = "" \'清除加载条件 .LoadPage = 0 \'加载第一页 .LoadTop = 10000 \'每页10000行 .Load() e.Form.Controls("TextBox2").Value = 1 & "/" & .TotalPages End With
错误提示如下:
此主题相关图片如下:11.jpg
|
-- 作者:Bin
-- 发布时间:2014/4/21 9:18:00
--
上个例子看看吧.
|
-- 作者:身份不明
-- 发布时间:2014/4/21 9:57:00
--
Bin老师,加载树代码如下,也出现了错误提示:
此主题相关图片如下:123.jpg
Dim Filter As String If e.node.Text = "加载所有数据" Then Filter = "" Else Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行 Dim Filter As String Dim Year As Integer = dr("年") Dim Month As Integer = dr("月") Dim Product As String = dr("客户名称") Select Case e.Node.Level Case 0 Filter ="Year(日期) = " & Year Case 1 Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month Case 2 Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month & " And 客户名称 = \'" & Product & "\'" End Select End If With DataTables("订单") .LoadFilter = Filter \'设置加载条件 .LoadPage = 0 \'加载第一页 .LoadTop = 10000 \'每页5行 .Load() e.Form.Controls("TextBox2").Value = 1 & "/" & .TotalPages End With
|
-- 作者:Bin
-- 发布时间:2014/4/21 10:00:00
--
你声明了全局变量FIlter吧, 出现了变量重复.
|
-- 作者:身份不明
-- 发布时间:2014/4/21 10:12:00
--
不知道该如何写代码了,Bin老师!
点击加载所有数据,会自动加载!按年月日,客户名称加载数据。
|
-- 作者:Bin
-- 发布时间:2014/4/21 10:12:00
--
纸上不谈兵,请上例子.
|
-- 作者:身份不明
-- 发布时间:2014/4/21 10:15:00
--
Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行 Dim Filter As String Dim Year As Integer = dr("年") Dim Month As Integer = dr("月") Dim Product As String = dr("客户名称") Select Case e.Node.Level Case 0 Filter ="Year(日期) = " & Year Case 1 Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month Case 2 Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month & " And 客户名称 = \'" & Product & "\'" End Select
With DataTables("订单") .LoadFilter = Filter .LoadPage = 0 .LoadTop = 10000 .Load() e.Form.Controls("TextBox2").Value = 1 & "/" & .TotalPages End With
这样代码没问题,但是不知道如何加上“加载所有数据”的功能!!
|
-- 作者:身份不明
-- 发布时间:2014/4/21 10:16:00
--
用的外部数据表,例子上传不上来啊!
|
-- 作者:有点甜
-- 发布时间:2014/4/21 10:23:00
--
这样写
Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行 Dim Filter As String Dim Year As Integer = dr("年") Dim Month As Integer = dr("月") Dim Product As String = dr("客户名称") Select Case e.Node.Level Case 0
If e.Node.Text = "加载全部数据" Then
Filter = ""
Else Filter ="Year(日期) = " & Year
End If Case 1 Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month Case 2 Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month & " And 客户名称 = \'" & Product & "\'" End Select
With DataTables("订单") .LoadFilter = Filter .LoadPage = 0 .LoadTop = 10000 .Load() e.Form.Controls("TextBox2").Value = 1 & "/" & .TotalPages End With
|
-- 作者:身份不明
-- 发布时间:2014/4/21 10:31:00
--
不行啊,甜老师,还是提示:
.NET Framework 版本:2.0.50727.6413 Foxtable 版本:2014.4.16.1 错误所在事件:窗口,业务订单主窗口,TreeView1,NodeMouseClick 详细错误信息: 未将对象引用设置到对象的实例。
|