以文本方式查看主题

-  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=84123)

--  作者:意悠心轻
--  发布时间:2016/4/23 13:00:00
--  怎么我的目录树没有了第二子节选项?
   包装车间工资表下的产品名称规格目录树没了子节选项。
[此贴子已经被作者于2016/6/26 15:43:57编辑过]

--  作者:Hyphen
--  发布时间:2016/4/23 14:21:00
--  
麻烦自己看看“冲压车间工资表.table”窗口3的代码
--  作者:意悠心轻
--  发布时间:2016/4/23 15:21:00
--  

我把目录树代码改为这样:

If e.Node.Level = 1 Then \'如果单击的是第二层节点
    Dim tr As Row = Tables("包装车间工资表").Current
    Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的DataRow
    tr("产品名称规格") = dr("产品名称")
    tr("工序") = dr("工序")
    e.Form.DropDownBox.Value = tr("产品名称规格")
    e.Form.DropDownBox.CloseDropdown()
End If

查询按钮代码:

Dim txt As String = e.Form.DropDownBox.Text
If txt = "" Then
    Return
End If
Dim trv As WinForm.TreeView =  e.Form.Controls("TreeView1")
Dim Start As Integer
Dim idx As Integer = - 1
If trv.SelectedNode IsNot Nothing Then
    Dim FullName As String = trv.SelectedNode.FullName
    For i As Integer = 0 To trv.AllNodes.count - 1
        If trv.AllNodes(i).FullName = FullName  Then
            Start = i
            Exit For
        End If
    Next
End If
For i As Integer = Start + 1 To trv.AllNodes.count - 1
    Dim nd As WinForm.TreeNode = trv.AllNodes(i)
    If nd.Text.IndexOf(txt) >= 0 Then
        trv.SelectedNode = nd
        nd.EnsureVisible
        idx = i
        Exit For
    End If
Next
If  idx  = -1 Then \'如果没有找到下一个,从第一个开始
    For i As Integer = 0 To Start - 1
        Dim nd As WinForm.TreeNode = trv.AllNodes(i)
        If nd.Text.IndexOf(txt) >= 0 Then
            trv.SelectedNode = nd
            nd.EnsureVisible
            Exit For
        End If
    Next
End If
trv.Select()

 

 

依然不行

 


--  作者:Hyphen
--  发布时间:2016/4/23 15:41:00
--  
窗口3,AfterLoad事件

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree("价格表","产品名称|工序")

要理解代码的功能哟,在A项目会用,搬到B项目就不会,这样不行的

--  作者:意悠心轻
--  发布时间:2016/4/23 15:50:00
--  
   哦,我忽略了检查窗口里的代码,一直以为问题出在目录树本身。
--  作者:意悠心轻
--  发布时间:2016/4/25 8:39:00
--  
    怎么处理?

图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/6/26 15:44:49编辑过]

--  作者:意悠心轻
--  发布时间:2016/4/25 9:11:00
--  

\'If e.DataCol.name = "单价" Then
    \'DataTables("包装车间工资表").datacols("产品名称规格").RaiseDataColChanged("产品名称规格 = \'" & e.DataRow("产品名称") & "\'")
\'End If

 

Select Case e.DataCol.name
    Case "产品名称规格", "工序"
        Dim fdr As DataRow = DataTables("价格表").find("产品名称 = \'" & e.DataRow("产品名称规格") & "\' and 工序 = \'" & e.DataRow("工序") & "\'")
        If fdr IsNot Nothing
            e.DataRow("单价") = fdr("单价")
        End If
End Select

 

把包装车间工资表中的表属性代码黄色部分注识掉就行了。


--  作者:大红袍
--  发布时间:2016/4/25 9:15:00
--  
 回复7楼,你要重新开始学习代码基础,看懂代码啊。不然全部都是重复的问题啊。
--  作者:意悠心轻
--  发布时间:2016/4/25 10:07:00
--  
   对,说实在的代码基础我没认真看,前几天才开始看了一点,要全面学会还要花时间、精力,我心脏不太好,不能太伤神,过年到现在这段时间可能因学这些,白天工作,晚上学习,引发心一直不舒服,上星期去查,却查不出什么大问题,医生连药都不肯开给我,非常纳闷,其实我二十多年前有确诊结果的,只是不见了,医生没结果就不开药,年龄大了,头发已花白,记忆力不太好,只能慢慢来。
[此贴子已经被作者于2016/4/25 21:34:11编辑过]

--  作者:大红袍
--  发布时间:2016/4/25 10:08:00
--  
 ...... 嗯嗯,那就慢慢来吧