以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 怎么我的目录树没有了第二子节选项? (http://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
--
...... 嗯嗯,那就慢慢来吧
|