以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 动态加载数据问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5887) |
-- 作者:wqc360 -- 发布时间: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 -- 发布时间:2010/1/29 10:09:00 -- 表视图现在又没问题了,还有,我的窗口有3个表,由以下视图代码可以看出,如果关联表也用动态加载数据,代码应该怎么写。谢谢 Tables("产品目录").OpenView("车间主管") Tables("产品目录.产品工序").OpenView("车间主管") Tables("产品目录.产品工序.产品工艺").OpenView("车间主管") 现在3个表都是用Normal类型绑定表非副本,但是非副本用行颜色时,一定要选突出,这样不好看,有没有其他解决方案,谢谢 [此贴子已经被作者于2010-1-29 10:13:13编辑过]
|
-- 作者:wqc360 -- 发布时间:2010/1/29 10:26:00 -- 关联表动态加载筛选行思路:筛选光标所在产品目录表图号的行,代码应怎么写,放哪里,谢谢 |
-- 作者:wqc360 -- 发布时间:2010/1/29 11:07:00 -- 想在产品工序表动态加载数据,我在父表的PositionChanged事件加入代码: With DataTables("产品工序") .LoadFilter = "[图号] = Forms("工艺查询")Controls("图号") " .Load() End With 报错,不知代码应怎样改。谢谢 |
-- 作者:狐狸爸爸 -- 发布时间:2010/1/29 11:32:00 -- With DataTables("产品工序") .LoadFilter = "[图号] = " & Forms("工艺查询").Controls("图号").Value .Load() End With |
-- 作者:wqc360 -- 发布时间:2010/1/29 11:44:00 -- 多谢狐爸提供代码,但是不成功,我是在窗口中加以组合框,并绑定到产品目录表图号中,这样不行,能不能提供一个加载关联行的代码,谢谢 |
-- 作者:wqc360 -- 发布时间:2010/1/29 11:53:00 -- 6楼的要求不能满足我的要求,还是做当选定主表产品目录时,两个关联表子表都加载图号列相同的行,谢谢 |
-- 作者:狐狸爸爸 -- 发布时间:2010/1/29 12:20:00 -- 1、逻辑问题要自己处理,我只是帮你修改了语法问题。 2、提问题要抓住重点,要让人容易理解,最好是有简单的例子。 |