以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于目录树问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63009)

--  作者:信达
--  发布时间:2015/1/12 9:32:00
--  关于目录树问题

老师,有个问题想请教一下:

 

A表订单,B表修改订单 没有关联

B表数据行的选取是通过计划编号列下拉目录树选取A表的计划编号数据,如果A表的数据全部加载是没有问题的。

 

可现在问题是如果全部加载A表数据会很大,我设定了加载条件。当不全部加载A表数据时,B表计划编号目录树下拉是空白。

 

这个问题有什么办法解决吗?

 

我希望的是,只加载需要的A表订单数据,在B表显示加载部分的目录树,对其进行订单修改。

 

谢谢老师!


--  作者:Bin
--  发布时间:2015/1/12 9:34:00
--  
你编号树是怎么生成的?  按道理你加载多少数据,就生成多少才对的啊, 不会加载部分数据就变空白了.
--  作者:有点甜
--  发布时间:2015/1/12 9:35:00
--  

 试试用代码

 

http://www.foxtable.com/help/topics/2127.htm

 


--  作者:Bin
--  发布时间:2015/1/12 9:35:00
--  
上个例子看看
--  作者:信达
--  发布时间:2015/1/12 9:42:00
--  

我实在 MainTableChanged里写的代码:

 

Select Case MainTable.Name
    Case  "修改订单"
        Dim tb As New DropTreeBuilder
        tb.SourceTable = DataTables("订单") \'指定目录树表
        tb.TreeCols = "项目|计划编号" \'指定用于生成目录树的列
        tb.SourceCols = "项目|计划编号||图号|部件名称" \'指定数据来源列
        tb.ReceiveCols = "项目|计划编号|部件名称" \'指定数据接收列
        Tables("修改订单").Cols("项目").DropTree = tb.Build()
End Select


--  作者:有点甜
--  发布时间:2015/1/12 9:43:00
--  
 例子,请发上来。
--  作者:信达
--  发布时间:2015/1/12 9:51:00
--  
 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:xinda datebase.zip

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:foxtable项目.rar

以下内容需要积分达到130000才可以浏览
[此贴子已经被作者于2015-1-12 9:52:16编辑过]

--  作者:有点甜
--  发布时间:2015/1/12 10:01:00
--  
 代码没有问题,你数据明显有问题啊,你的项目都是空值。
--  作者:信达
--  发布时间:2015/1/12 10:11:00
--  

明白了。我加载了有项目的订单,就对了。谢谢!

 

另外还有一个小Bug, 更改用户窗口应用时,显示用户不存在或已删除!其他用户管理和增加用户什么的都没问题。


--  作者:有点甜
--  发布时间:2015/1/12 10:18:00
--  

 登陆窗口确认按钮代码

 

_UserName = e.Form.Controls("UserName").Value
Dim dr As DataRow
If _UserName = ""  Then
    Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
dr = _UserTable.SQLFind("[Name] = \'" & _UserName & "\'")
If dr Is Nothing Then
    Messagebox.show("此用户不存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
If e.Form.Controls("PassWord").Value = dr("Password") Then
    _UserGroup = dr("Group")
    e.Form.Close
Else
    Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If