以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]这时目录树的单击事件该如何设置?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=3407)

--  作者:roy78
--  发布时间:2009/7/3 12:27:00
--  [求助]这时目录树的单击事件该如何设置?
 
 先简述一下,窗口1中有目录树和标签及文本框等组件

1.目录树在加载窗口事件中(afterload)设置了
Dim tv As WinForm.TreeView
tv =e.Form.Controls("TreeView1")
tv.BuildDataTree("公司文件", "", "部门", "时间", "信息项目","标题")
加载窗口后自己生成目录树
2.文本框绑定了数据字段"内容
其它暂不描述

目的:单击目录树的标题子节点(最后),文本框的内容根据标题子节点的内容返回.也就是说要求为select 内容 from 公司文件 where 内容=  子节点标题  (这里只是打比方)  ,这段代码在
NodeMouseDoubleClick 事件中如何写?
  期待指导!

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2009-7-3 12:27:35编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/7/3 12:45:00
--  
DataTables("XXX").LoadFilter  =   " [内容] =\'" &  e.Node.Text & "\'"
DataTables("XXX").Load()

帮助中有这样的例子,CaseStudy目录下还有一个示例文件,你可以参考。
--  作者:roy78
--  发布时间:2009/7/3 13:10:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
  报错了  貌似要修改 红色等号 为 like? 
DataTables("公司文件").LoadFilter = " [内容] = \'" &  e.Node.Text & "\'"
DataTables("公司文件").Load()  

--  作者:yangming
--  发布时间:2009/7/3 13:23:00
--  
Dim Val As String  = e.Form.Controls("textbox1").Value
DataTables("公司文件").LoadFilter = "[内容] = \'"& Val &"\'"
DataTables("公司文件").Load()

--  作者:roy78
--  发布时间:2009/7/3 13:28:00
--  
同样报上面的错
--  作者:yangming
--  发布时间:2009/7/3 13:36:00
--  
参看这个:
Dim Value()As String
Dim Filter As string
Value = e.Node.FullPath.Split("\\")
Select Case e.Node.Level
    Case 0
        Filter ="[产品] = \'" & Value(0) & "\'"
    Case 1
        Filter ="[产品] = \'" & Value(0) & "\' And [客户] = \'" & Value(1) & "\'"
End Select
DataTables("订单").LoadFilter = Filter
DataTables("订单").Load()

--  作者:roy78
--  发布时间:2009/7/3 13:52:00
--  
  为了避错,我暂时先把代码放在节点的双击事件中,双击最后一个子节点时,仍报错
--  作者:yangming
--  发布时间:2009/7/3 14:01:00
--  
六楼的代码就是放在中的

NodeMouseDoubleClick

用鼠标双击节点后执行。


--  作者:狐狸爸爸
--  发布时间:2009/7/3 15:08:00
--  
代码原理是没有错的,如果搞不定的话。
作简单的例子上传,说明在那里设置了代码,目的是什么,出现了什么意外。
--  作者:roy78
--  发布时间:2009/7/3 15:16:00
--  
  现在不报错了,以下代码才三层,实际是是四层,目前出现的情况是,我点击根子点的时候,文本框就把内容显示出来了,而根本不是实际的定位,一楼有层次图

Dim Value()As String
Dim Filter As string
Value = e.Node.FullPath.Split("\\")

Select Case e.Node.Level
    Case 0
        Filter ="[部门] = \'" & Value(0) & "\'"
    Case 1
        Filter ="[部门] = \'" & Value(0) & "\' And [时间] = \'" & Value(1) & "\'"
    Case 2
        Filter ="[部门] = \'" & Value(0) & "\' And [时间] = \'" & Value(1) & "\' And [信息项目] = \'" & Value(2) & "\'"
   
    End Select
DataTables("公司文件").LoadFilter = Filter
DataTables("公司文件").Load()

     我所想像的方式是单击子节点后,select 内容 form 公司文件 where 内容=得到节点内容 通过设置sql语句的动态方式,不知道行不行.