以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=22688)

--  作者:云淡风轻
--  发布时间:2012/8/21 13:58:00
--  [求助]

导航窗口SelectedIndexedChanged中代码如下(部分):

 

以下内容为程序代码:

1 Select Case Bar.SelectedPage.ButtonText
2 Case "案卷库"
3 cmd.CommandText = "SELECT DISTINCT 分类号,年度 From {室藏案卷库}"
4 dt = cmd.ExecuteReader()
5 tv =e.Form.Controls("TreeView1")
6 MainTable = Tables("室藏案卷库")
7 Tables("室藏案卷库").AutoSizeCols()
8 tv.Nodes.Clear
9 tv.BuildDataTree(dt, "", "分类号|年度")
10 nd = tv.Nodes.Insert("加载全部记录","加载全部记录",0)
11 End Select

急:为什么分类号或年度值为NULL的目录树中没有显示?

怎么能使那些值为NULL的能显示在目录树中?

[此贴子已经被作者于2012-8-21 13:59:02编辑过]

--  作者:云淡风轻
--  发布时间:2012/8/21 15:41:00
--  

我用的是动态加载,一开始是不加载任何数据的,目录树是通过读取后台数据库生成的,请高手解答如何做到

[此贴子已经被作者于2012-8-21 15:41:38编辑过]

--  作者:云淡风轻
--  发布时间:2012/8/21 16:28:00
--  

不能直接加载所有数据的,数据有几十万条,直接加载的话会很卡很卡的,所以用动态加载,而且只有值为NULL的那批数据目录树中无法生成空结点,字段值非NULL什么也没有的是可以生成空结点的,烦啊


--  作者:woiz
--  发布时间:2012/8/21 16:56:00
--  
设connect了吗?
--  作者:woiz
--  发布时间:2012/8/21 16:57:00
--  

记得设置链接名称

如果SQLCommand操作的是外部数据源,那么一定要设置其ConnectionName属性,指定外部数据源名称:

Dim cmd As New SQLCommand
Dim
dt As DataTable
cmd.ConnectionName = "外部数据源名称"
cmd.CommandText = "SELECT DISTINCT 产品,客户 From {订单}"
dt = cmd.ExecuteReader()
Dim
trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "产品|客户"
)

很多用户,包括我自己,都会犯这个错误,明明代码正确,却没有结果,折腾半天,只是因为没有设置数据源名称而已。


--  作者:云淡风轻
--  发布时间:2012/8/21 17:32:00
--  

但并不是所有的表都含有NULL,手工加结点不符合实际,还有其他方法吗?

connect我有的,这里只是展示部分代码