以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  新版问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3923)

--  作者:blackzhu
--  发布时间:2009/8/19 10:03:00
--  新版问题
我一直欣赏在datalist中用这个代码做查询的.可以非常迅速的找到我所要求查找的东西.

with e.Form
    if e.sender.text <> "请输入关键字" then
        Dim dst As WinForm.DataList = .Controls("DataList2")
        Dim txb1 As WinForm.TextBox = .Controls("TextBox1")
        dst.RowFilter = "[IO] Like \'*" & txb1.text & "*\' or [GO NO] Like \'*" & txb1.text & "*\'or [客户合同号] Like \'*" & txb1.text & "*\'or [英文款号] Like \'*" & txb1.text & "*\'or [商标] Like \'*" & txb1.text & "*\'or [客户名称] Like \'*" & txb1.text & "*\'or [款号] Like \'*" & txb1.text & "*\'or [布款号] Like \'*" & txb1.text & "*\'or [季节号] Like \'*" & txb1.text & "*\'or [CAPS] Like \'*" & txb1.text & "*\'"
      
      
    end if
end with

    我想问的是,如果取消了datalist控件的话,是用table的控件,想达到这个效果,代码怎么写?

   还有我发现一个问题,我用帮助中的"一个窗口例子"做的筛选.,居然告知有一个列没有,改用旧版就可以了,请查是不是虫子?

--  作者:狐狸爸爸
--  发布时间:2009/8/19 10:08:00
--  
从这个问题可以看出,DataList是一个误人子弟的东西,早就应该删除的。


with e.Form
    if e.sender.text <> "请输入关键字" then
        Dim dst As WinForm.DataList = .Controls("DataList2")
        Dim txb1 As WinForm.TextBox = .Controls("TextBox1")
        Tables("窗口中的Table").Filter = "[IO] Like \'*" & txb1.text & "*\' or [GO NO] Like \'*" & txb1.text & "*\'or [客户合同号] Like \'*" & txb1.text & "*\'or [英文款号] Like \'*" & txb1.text & "*\'or [商标] Like \'*" & txb1.text & "*\'or [客户名称] Like \'*" & txb1.text & "*\'or [款号] Like \'*" & txb1.text & "*\'or [布款号] Like \'*" & txb1.text & "*\'or [季节号] Like \'*" & txb1.text & "*\'or [CAPS] Like \'*" & txb1.text & "*\'"
      
      
    end if
end with

[此贴子已经被作者于2009-8-19 10:09:51编辑过]

--  作者:reachtone
--  发布时间:2009/8/19 10:25:00
--  
datalist的rowfilter还很不好用,它对查询条件的要求跟table是不一样的。
datalist确实该杀!  图片点击可在新窗口打开查看
--  作者:yangming
--  发布时间:2009/8/19 10:27:00
--  

二楼的代码有错,Dim dst As WinForm.DataList = .Controls("DataList2")应该改成这样:

Dim dst As Table = Tables("某表")


--  作者:blackzhu
--  发布时间:2009/8/19 11:50:00
--  
以下是引用狐狸爸爸在2009-8-19 10:08:00的发言:
从这个问题可以看出,DataList是一个误人子弟的东西,早就应该删除的。


with e.Form
    if e.sender.text <> "请输入关键字" then
        Dim dst As WinForm.DataList = .Controls("DataList2")
        Dim txb1 As WinForm.TextBox = .Controls("TextBox1")
        Tables("窗口中的Table").Filter = "[IO] Like \'*" & txb1.text & "*\' or [GO NO] Like \'*" & txb1.text & "*\'or [客户合同号] Like \'*" & txb1.text & "*\'or [英文款号] Like \'*" & txb1.text & "*\'or [商标] Like \'*" & txb1.text & "*\'or [客户名称] Like \'*" & txb1.text & "*\'or [款号] Like \'*" & txb1.text & "*\'or [布款号] Like \'*" & txb1.text & "*\'or [季节号] Like \'*" & txb1.text & "*\'or [CAPS] Like \'*" & txb1.text & "*\'"
      
      
    end if
end with

[此贴子已经被作者于2009-8-19 10:09:51编辑过]

我试一下


--  作者:blackzhu
--  发布时间:2009/8/19 11:51:00
--  
狐爸:还有一个问题没有回复!就是底下的问题.

还有我发现一个问题,我用帮助中的"一个窗口例子"做的筛选.,居然告知有一个列没有,改用旧版就可以了,请查是不是虫子?
--  作者:狐狸爸爸
--  发布时间:2009/8/19 11:58:00
--  

我打开CaseStudy目录下的例子,没有这个问题啊


--  作者:blackzhu
--  发布时间:2009/8/19 13:49:00
--  
以下是引用狐狸爸爸在2009-8-19 10:08:00的发言:
从这个问题可以看出,DataList是一个误人子弟的东西,早就应该删除的。


with e.Form
    if e.sender.text <> "请输入关键字" then
        Dim dst As WinForm.DataList = .Controls("DataList2")
        Dim txb1 As WinForm.TextBox = .Controls("TextBox1")
        Tables("窗口中的Table").Filter = "[IO] Like \'*" & txb1.text & "*\' or [GO NO] Like \'*" & txb1.text & "*\'or [客户合同号] Like \'*" & txb1.text & "*\'or [英文款号] Like \'*" & txb1.text & "*\'or [商标] Like \'*" & txb1.text & "*\'or [客户名称] Like \'*" & txb1.text & "*\'or [款号] Like \'*" & txb1.text & "*\'or [布款号] Like \'*" & txb1.text & "*\'or [季节号] Like \'*" & txb1.text & "*\'or [CAPS] Like \'*" & txb1.text & "*\'"
      
      
    end if
end with

[此贴子已经被作者于2009-8-19 10:09:51编辑过]

  这个"窗口中的TABLE是不是这么写tables("做装箱单_table1"),我写了说找不到这个控件.


--  作者:yangming
--  发布时间:2009/8/19 13:58:00
--  

如果有table副本:tables("做装箱单_table1"),注意,这里的"做装箱单",必须是窗口的名字
没有,就写:tables("table1"),


--  作者:blackzhu
--  发布时间:2009/8/19 14:57:00
--  
以下是引用yangming在2009-8-19 13:58:00的发言:

如果有table副本:tables("做装箱单_table1"),注意,这里的"做装箱单",必须是窗口的名字
没有,就写:tables("table1"),

这个我明白了,对于整个改用TABLE的我都不知道怎么修改好?最好保留datalist