以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  加载的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=17893)

--  作者:blackzhu
--  发布时间:2012/3/28 10:32:00
--  加载的问题

我在窗口的afterload事件中加入了

 

  DataTables(e.form.Name & "_Table1").Fill("Select * From {纸箱核算表} Where [_Identify] Is Null", "服务器",False)   这个不加载代码.

 

 

然后做了个组合框以及 一个按钮,按钮代码中加入了一个代码:

 

Dim Filter As String
Dim T As String = e.Form.Controls("ComboBox1").Value \'定义控件的值
For Each dc As Col In Tables(e.Form.Name & "_Table1").Cols \'遍历表的所有列
    If dc.DataCol.IsDate OrElse dc.DataCol.IsBoolean OrElse dc.DataCol.IsNumeric Then  \'如果是时间列,逻辑列,数值列
        Continue For    \'排除
    End If
    If Filter > "" Then
        Filter  = Filter & " Or "
    End If
    Filter = Filter  & "[" & dc.Name & "] Like \'*" & T & "*\'"    \'根据控件值模糊筛选
Next
If Filter > "" Then
    DataTables(e.Form.Name & "_Table1").LoadFilter = Filter
    DataTables(e.Form.Name & "_Table1").Load
End If

 

  按照条件加载,但是不是作用,是不是fill不加载后,不能用loadfilter加载了.


--  作者:blackzhu
--  发布时间:2012/3/28 10:48:00
--  
用副本表算了.
--  作者:狐狸爸爸
--  发布时间:2012/3/28 10:50:00
--  

Fill之后肯定可以Load的。

你在后面加一行:

 

If Filter > "" Then
     DataTables(e.Form.Name & "_Table1").LoadFilter = Filter
     DataTables(e.Form.Name & "_Table1").Load

     MessageBox.show("我Load了,条件是:" & Filter )
End If


--  作者:blackzhu
--  发布时间:2012/3/28 10:58:00
--  
老大  我都MessageBox.show("我Load了,条件是:" & Filter )
成功了,就是不加载,不知道什么原因
--  作者:狐狸爸爸
--  发布时间:2012/3/28 11:20:00
--  
呵呵,做个简单的例子给我看看。