以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 奇怪,为什么不能成生treeview (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=8427) |
||||
-- 作者:小狐 -- 发布时间:2010/10/21 19:07:00 -- 奇怪,为什么不能成生treeview Dim dt As datatable = DataTables("单位树")
[此贴子已经被作者于2010-10-21 19:14:40编辑过]
|
||||
-- 作者:mr725 -- 发布时间:2010/10/21 21:26:00 -- Dim tr As WinForm.TreeView = Forms("窗口").Controls("TreeView1") Dim nd0,nd1,nd2 As WinForm.TreeNode Dim fs As Integer tr.Nodes.Clear \'清空原来的节点:::::::::: For Each dr As DataRow In DataTables("单位树").Select("","标题id") If dr("标题id") <> "" Then fs = dr("节点") Select Case fs Case 0 nd0 = tr.Nodes.Add(Rand.NextString(10),dr("标题")) Case 1 nd1 = nd0.Nodes.Add(Rand.NextString(10),dr("标题")) Case 2 nd2 = nd1.Nodes.Add(Rand.NextString(10),dr("标题")) End Select End If Next |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/10/21 21:29:00 -- ?不能作为通配符吧,你测试一下:
tr = e.Form.Controls("TreeView1")
就会发现dt2的行数为0 |
||||
-- 作者:小狐 -- 发布时间:2010/10/22 10:44:00 -- 以下是引用狐狸爸爸在2010-10-21 21:29:00的发言:
?不能作为通配符吧,你测试一下:
tr = e.Form.Controls("TreeView1")
就会发现dt2的行数为0 如果只想筛选出只有两个字符的数据记录,代码要怎么写呀 |
||||
-- 作者:czy -- 发布时间:2010/10/22 11:07:00 -- Len([标题]) = 2 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/10/22 11:08:00 -- 并非要用Select的,在命令窗口执行: For Each dr As DataRow In DataTables("单位树").DataRows
其实这一段多余: For Each dr As DataRow In DataTables("单位树").DataRows [此贴子已经被作者于2010-10-22 11:08:56编辑过]
|
||||
-- 作者:小狐 -- 发布时间:2010/10/22 11:31:00 -- 领导如果这一则案例treeview 下一级是“无限延伸”(用户定义了三级,或者5级),那么如何生成呢。比如“华海仓库管理”中的参数设置窗口---单位树treeview,就是无限性的 延伸下级,同时又能根据数据记录生成treeview这个目录树 [此贴子已经被作者于2010-10-22 11:31:22编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/10/22 12:31:00 -- 你就按照上面的代码,给他来个10级,代码也没有多长的。 10级的目录够深了。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/10/22 12:54:00 -- 这是一个任意层数的,不过一般用户理解起来比较困难:
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
|
||||
-- 作者:小狐 -- 发布时间:2010/10/22 19:21:00 -- 删除节点又出了新的情况: 还是这一例,我使用了M版的方案,treeview生成了,但是删除节点又出了新的情况 Dim tr As WinForm.TreeView 实际没有删除、
[此贴子已经被作者于2010-10-22 19:21:17编辑过]
|