Foxtable(狐表)用户栏目专家坐堂 → 动态加载数据问题


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

主题:动态加载数据问题

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
动态加载数据问题  发帖心情 Post By:2010/1/29 9:32:00 [显示全部帖子]

我现在开始玩动态加载数据,有一些问题还没搞懂,请求帮助:
有一表,我原来在项目属性BeforeLoadOuterTable事件没有代码。
原窗口AfterLoad事件代码:
Tables("产品目录").OpenView("车间主管")
Tables("产品目录.产品工序").OpenView("车间主管")
Tables("产品目录.产品工序.产品工艺").OpenView("车间主管")
e.Form.Controls("TreeView1").BuildDataTree("产品目录", "", "客户", "机型", "所属部分","图号")
原目录树NodeMouseClick事件代码:
Dim Value() As String
Value = e.Node.FullPath.Split("\")
Select Case e.Node.Level
    Case 0
        Tables("产品目录").Filter = "[客户] = '" & Value(0) & "'"
    Case 1
        Tables("产品目录").Filter = "[客户] = '" & Value(0) & "' And [机型] = '" & Value(1) & "'"
    Case 2
        Tables("产品目录").Filter = "[客户] = '" & Value(0) & "' And [机型] = '" & Value(1) & "' And [所属部分] = '" & Value(2) & "'"
    Case 3
        Tables("产品目录").Filter = "[客户] = '" & Value(0) & "' And [机型] = '" & Value(1) & "' And [所属部分] = '" & Value(2) & "'And [图号] = '" & Value(3) & "'"     
End Select
原已文本框TextChanged代码:
with e.Form
    Dim dst As WinForm.Table = .Controls("Table1")
    Dim txb1 As WinForm.TextBox = .Controls("TextBox1")
    Tables("产品目录").Filter =  "[图号] Like '*" & txb1.text & "*'or [名称] Like '*" & txb1.text & "*'"
end with


修改后:
我在项目属性BeforeLoadOuterTable事件加入代码:
If e.DataTableName = "产品目录" Then
    e.SelectString = "Select * From 产品目录 Where _Identify < 0"
End If
在窗口AfterLoad代码修改成:
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 客户,机型,所属部分,图号 From 产品目录"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildDataTree(dt, "","客户", "机型","所属部分","图号")
在目录树NodeMouseClick事件代码修改成:
Dim Value() As String
Dim Filter As string
Value = e.Node.FullPath.Split("-:special:1:-)
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) & "'"
    Case 3
        Filter = "[客户] = '" & Value(0) & "' And [机型] = '" & Value(1) & "' And [所属部分] = '" & Value(2) & "'And [图号] = '" & Value(3) & "'"       
End Select
DataTables("产品目录").LoadFilter = Filter
DataTables("产品目录").Load()

以上目录树能正常执行,但是现在有2个问题:
1.在窗口AfterLoad怎样加表视图,原视图代码报错。
2.文本框代码应怎么写。
谢谢



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


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/1/29 10:09:00 [显示全部帖子]

表视图现在又没问题了,还有,我的窗口有3个表,由以下视图代码可以看出,如果关联表也用动态加载数据,代码应该怎么写。谢谢
Tables("产品目录").OpenView("车间主管")
Tables("产品目录.产品工序").OpenView("车间主管")
Tables("产品目录.产品工序.产品工艺").OpenView("车间主管")

现在3个表都是用Normal类型绑定表非副本,但是非副本用行颜色时,一定要选突出,这样不好看,有没有其他解决方案,谢谢
[此贴子已经被作者于2010-1-29 10:13:13编辑过]

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/1/29 10:26:00 [显示全部帖子]

关联表动态加载筛选行思路:筛选光标所在产品目录表图号的行,代码应怎么写,放哪里,谢谢

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/1/29 11:07:00 [显示全部帖子]

想在产品工序表动态加载数据,我在父表的PositionChanged事件加入代码:
With DataTables("产品工序")
    .LoadFilter = "[图号] = Forms("工艺查询")Controls("图号") "
    .Load()
End With

报错,不知代码应怎样改。谢谢

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/1/29 11:44:00 [显示全部帖子]

多谢狐爸提供代码,但是不成功,我是在窗口中加以组合框,并绑定到产品目录表图号中,这样不行,能不能提供一个加载关联行的代码,谢谢

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/1/29 11:53:00 [显示全部帖子]

6楼的要求不能满足我的要求,还是做当选定主表产品目录时,两个关联表子表都加载图号列相同的行,谢谢

 回到顶部