Foxtable(狐表)用户栏目专家坐堂 → [求助]选择“TreeView1”目录树节点后的代码不会


  共有1885人关注过本帖树形打印复制链接

主题:[求助]选择“TreeView1”目录树节点后的代码不会

帅哥哟,离线,有人找我吗?
hanzhang98
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
[求助]选择“TreeView1”目录树节点后的代码不会  发帖心情 Post By:2018/6/17 22:29:00 [只看该作者]

初学习狐表,菜鸟一个。

请教1:按照下载的示例,学习编制了目录树导航,想实现点击选择“TreeView1”目录树节点后,将指定表或者指定外部数据源的数据内容放入首页窗体的Tabl1中,代码如何写并放在那里。或者动态生成“Tabl1”,并将指定表或者指定外部数据源的数据内容放入。

请教2:启动项目后想默认是NavBar导航栏的第一页面,查询帮助如下:

SelectedIndex

整数型,返回或者设置导航栏选定页面的位置


示例

选定第一个页面:

Dim Bar As WinForm.NavBar
Bar = e.Form.Controls(
"NavBar1")
Bar.SelectedIndex = 0


但不知道将代码放在那里。


请老师不吝指教。谢谢!




[此贴子已经被作者于2018/6/17 23:18:56编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/17 23:34:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
hanzhang98
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
  发帖心情 Post By:2018/6/18 0:43:00 [只看该作者]

感谢“有点甜”版主回复,“请教2”按您的指点完美解决。但“请教1”还是不会,烦请老师再赐教具体代码。比如:在“首页”窗口的导航栏【人员管理】页面有“TreeView1”目录树【人事档案】、【工资表】节点点击【人事档案】节点后能达到动态将“员工基本信息”表的全部数据内容放入【首页-Tabl1】中查看如果点击【工资表】节点,则能动态将“员工工资表”表的全部数据内容放入【首页-Tabl1】中查看。再次谢谢。
[此贴子已经被作者于2018/6/18 0:53:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/19 8:46:00 [只看该作者]

到NodeMouseClick事件处理,可以参考这个实例:http://www.foxtable.com/webhelp/scr/0917.htm

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/19 9:00:00 [只看该作者]

编写事件代码,如

 

If e.node.name = "abc" Then

    e.form.controls("Table1").table.datasource = datatables("表A")

ElseIf e.node.name = "123" Then

    e.form.controls("Table1").table.datasource = datatables("表B")

End If


 回到顶部
帅哥哟,离线,有人找我吗?
hanzhang98
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
  发帖心情 Post By:2018/6/19 13:03:00 [只看该作者]

感谢【有点甜】、【有点蓝】两位版主指教。两位莫见笑,六二年生人学编程、关键还不懂英文,常常是“有想法、没办法”,只能靠版主、老师、高手们的实例和代码来解决问题、实现构想了。再次谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
hanzhang98
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
  发帖心情 Post By:2018/6/19 16:22:00 [只看该作者]


请教老师:下列代码生成的动态目录树如何按“自定义列”排序:(比如说按“编码”列排序)

设计步骤:

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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/19 17:43:00 [只看该作者]

目录树有一个BuildTree方法,可以根据指定的数据表内容生成目录树节点。

语法:

BuildTree(DataTableName, Columns, Filter, Sort)

BuildTree(DataTable, Columns, Filter, Sort)

DataTableName: 数据表名
DataTable:    数据表
Columns:       指定数据列,不同的列之间用符号“|”隔开,例如:产品|客户|雇员”
Filter:        可选参数,指定过滤条件,
请参考表达式的运算符和函数 和 条件表达式
Sort:         可选参数,指定排序列。


trv.BuildTree("订单""产品|客户|雇员","","编码")


 回到顶部
帅哥哟,离线,有人找我吗?
hanzhang98
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
  发帖心情 Post By:2018/6/19 18:14:00 [只看该作者]

谢谢“有点蓝”版主赐教,具体问题在7楼有补充,烦请再不吝赐教。另外这句代码“trv.BuildTree("订单""产品|客户|雇员","","编码")” 放在上述代码的什么地方?
[此贴子已经被作者于2018/6/19 18:14:57编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
hanzhang98
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
  发帖心情 Post By:2018/6/19 18:31:00 [只看该作者]

以下是引用有点蓝在2018/6/19 17:43:00的发言:

目录树有一个BuildTree方法,可以根据指定的数据表内容生成目录树节点。

语法:

BuildTree(DataTableName, Columns, Filter, Sort)

BuildTree(DataTable, Columns, Filter, Sort)

DataTableName: 数据表名
DataTable:    数据表
Columns:       指定数据列,不同的列之间用符号“|”隔开,例如:产品|客户|雇员”
Filter:        可选参数,指定过滤条件,
请参考表达式的运算符和函数 和 条件表达式
Sort:         可选参数,指定排序列。


trv.BuildTree("订单""产品|客户|雇员","","编码")



谢谢“有点蓝”版主赐教,排序问题已按您的指教完美解决,但如下问题还再烦请指教一下,谢谢!


2、上述代码能不能用另一个表(即:“部门岗位设置”表)的相同列来动态生成目录树,并在使用上达到一样效果?

3、如果想用同文件夹下的外部数据源-Rslz.mdb"职工基础信息",上述代码应如何修改


 回到顶部
总数 11 1 2 下一页