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


  共有12823人关注过本帖平板打印复制链接

主题:动态加载数据问题

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望: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.文本框代码应怎么写。
谢谢



 回到顶部