以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于动态绑定DataList的Bug  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=1420)

--  作者:don
--  发布时间:2008/12/17 13:03:00
--  关于动态绑定DataList的Bug
      例子中窗口的DataList1根据ComboBox1的值动态绑定表A和表B,发现ComboBox1的值在"A"和"B"间变化时,DataList1没有动态绑定表A!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目4.rar


另:『显式冗余值』还没有更正!
             图片点击可在新窗口打开查看
[此贴子已经被作者于2008-12-17 13:10:34编辑过]

--  作者:狐狸爸爸
--  发布时间:2008/12/17 15:05:00
--  
呵呵,大师也有晕的时候啊,你得代码是:
If T = "A" OrElse T = "B" Then
   dst.DataTable = DataTables("表A")
Else
   dst.DataTable = DataTables("表B")
End If

A、B之间转换的时候,本来就不应该变化啊。

菜单的错别字已经改了,但是忘记更新压缩包中的菜单模板图片点击可在新窗口打开查看
[此贴子已经被作者于2008-12-17 15:04:56编辑过]

--  作者:狐狸爸爸
--  发布时间:2008/12/17 15:17:00
--  

改成这样算了:

Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
Dim T As String = e.Form.Controls("ComboBox1").Value

If T = "A" OrElse T = "B" Then
   dst.DataTable = DataTables("表A")
Else
   dst.DataTable = DataTables("表B")
End If

dst.ColumnList = "第一列|第二列|第三列"
dst.Build()
dst.RowFilter = "[第三列] = \'"  &  T  &"\'"


--  作者:don
--  发布时间:2008/12/17 15:38:00
--  
3楼的方法可行,只是1楼的代码应该没错,为何达不到效果?
--  作者:狐狸爸爸
--  发布时间:2008/12/17 15:47:00
--  
可能Filter只有改了数据源才有效,A和B之间的切换,数据源没有变化。
--  作者:狐狸爸爸
--  发布时间:2008/12/17 15:52:00
--  
呵呵,我还是改一下程序,让你原来的代码有效,否则有点别扭。
[此贴子已经被作者于2008-12-17 15:51:46编辑过]

--  作者:don
--  发布时间:2008/12/17 16:43:00
--  
以下是引用狐狸爸爸在2008-12-17 15:52:00的发言:
呵呵,我还是改一下程序,让你原来的代码有效,否则有点别扭。
[此贴子已经被作者于2008-12-17 15:51:46编辑过]

图片点击可在新窗口打开查看


--  作者:狐狸爸爸
--  发布时间:2008/12/18 17:48:00
--  
搞定,重下即可。
--  作者:don
--  发布时间:2008/12/18 18:14:00
--  
謝謝!