以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于TEXTCHANGED中的代码出错  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=1637)

--  作者:狐哥
--  发布时间:2009/1/15 17:40:00
--  [求助]关于TEXTCHANGED中的代码出错
各位老师:
我在TEXTBOX1的Textchanged中加入如下代码,如录入[编号]及[公司简称]中没有的文字就出错,为何??

with e.Form
    if e.sender.text <> "输入编码或名称查询" then
        Dim dst As WinForm.DataList = .Controls("DataList2")
        dst.DataTable = DataTables("客户名录")
        Dim txb1 As WinForm.TextBox = .Controls("TextBox1")
        dst.RowFilter = "[编号] Like \'* " & txb1.text & "*\' or [公司简称] Like \'* " & txb1.text & "*\'"
    end if       
end with

[此贴子已经被作者于2009-1-16 12:40:35编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/1/15 17:53:00
--  
具体问题具体分析,问虽然这段代码不太完美,但是你的问题不一定出在这里,而是在DataList2的CurrentChanged事件中,错误提示已经告诉你了
--  作者:狐哥
--  发布时间:2009/1/15 18:08:00
--  
一边看帮助一边学习别人的作品,自己搬过来学的,不好意思。


如上是文件,老爸帮看看

我在 DataList2的CurrentChanged事件中加的是如下代码:

Dim dst2 As WinForm.DataList = e.Form.Controls("DataList2")
Dim dst3 As WinForm.DataList = e.Form.Controls("DataList3")
Dim dr2 as DataRow = dst2.Current \'获得选定行
dim str as string = dr2("公司简称")
    dst3.Filter ="[客户]  = \'" & str & "\'"
dst3.ColumnList = "|工作单号|业务员|客户|合约号|船公司|货代公司|起运港|目地港|柜量|海运|散货|空运|报关|拖车|买单|"
dst3.ColumnWidth = "80|50|70|80|70|80|60|70|80|30|30|30|30|30|30|"
dst3.sort = "工作单号"
dst3.Build()


另:
我设置了COLUMNWIDTH,第一次列宽是对的,多几次就不对了??
[此贴子已经被作者于2009-1-16 12:40:19编辑过]

--  作者:czy
--  发布时间:2009/1/15 19:16:00
--  

偶没发现问题。

既然是固定绑定到某一表,为何要在textbox1控件的TextChanged中来绑定。
宽度不对应该是ColumnList 和ColumnWidth设置不等引起的,以前我有碰到过。


--  作者:狐哥
--  发布时间:2009/1/16 12:26:00
--  
以下是引用czy在2009-1-15 19:16:00的发言:

偶没发现问题。

既然是固定绑定到某一表,为何要在textbox1控件的TextChanged中来绑定。
宽度不对应该是ColumnList 和ColumnWidth设置不等引起的,以前我有碰到过。

Czy版主,麻烦看看客户面版中的TEXBOX1,真的是一录入就报错,textbox1控件的TextChanged绑定我也取销了,
但还是出错,不知何故。

万分感谢。