请教老师:下列代码生成的动态目录树如何按“自定义列”排序:(比如说按“编码”列排序)
设计步骤:
1、新建一个窗口,窗口类型设为主窗口,在窗口中插入一个分区面板。
2、在右分区插入一个Table(表),将其绑定到主表(订单表),并将其停靠属性设置为Fill。
3、在左分区插入一个TreeView(目录树),并将其停靠属性设置为Fill。
4、将分区面板的停靠属性也设为Fill。
5、将窗口的AfterLoad事件设为:
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree("订单", "产品|客户|雇员")
trv.Nodes.Insert("显示所有行",0)
6、将目录树的NodeMouseDoubleClick事件设为:
Dim Filter As String
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
If e.Node.Text <> "显示所有行" Then
Select Case e.Node.Level
Case 0
Filter = "[产品] = '" & dr("产品") & "'"
Case 1
Filter = "[产品] = '" & dr("产品") & "' And [客户] = '" & dr("客户") & "'"
Case 2
Filter = "[产品] = '" & dr("产品") & "' And [客户] = '" & dr("客户") & "' And [雇员] = '" & dr("雇员") & "'"
End Select
End If
Tables("订单").Filter = Filter
7、将窗口的“自动打开”属性设为True。
问题:"职工基础信息"表还有[类别编码]和[部门编码]两列,如果按这两列排序,则:岗位类别排序应该是:“管理人员>>>外派人员>>>其它人员......”;部门排序顺序应该是:“领导&高管>>>董事会秘书处>>>行政管理部......”。但是按上述示例代码生成的动态目录树的排序顺序分别变为了:“管理人员>>>其它人员>>>外派人员......”和“安监部>>>财务部>>>党群部>>>领导_高管......”。
请教:1、想要生成的动态目录树分别按[类别编码]和[部门编码]这两列排序,上述代码应如何修改?(这个问题“有点甜”版主在http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=120230&replyID=&skin=1 这里已赐教过,但代码格式不一样,不会参照,请见谅)
2、上述代码能不能用另一个表(即:“部门岗位设置”表)的相同列来动态生成目录树,并在使用上达到一样效果?
3、如果想用同文件夹下的“外部数据源-Rslz.mdb”的"职工基础信息"表,上述代码应如何修改?
谢谢!
[此贴子已经被作者于2018/6/19 18:10:08编辑过]