以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这个加载的判断怎么写?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=14514)

--  作者:blackzhu
--  发布时间:2011/11/22 13:49:00
--  这个加载的判断怎么写?
Dim ids As String
For Each dr As DataRow In DataTables("商品档案").DataRows
    ids = ids & "," & dr("商品编码")
Next
ids= ids.Trim(",")
DataTables("商品套件名称").LoadFilter = "商品编码 In (" & ids & ")"
DataTables("商品套件名称").Load()

我在表事件AfterLoad写入此代码,但是加载时出错,我后来看了一下是子表没有数据的原因.我写入这样的一句判断:

If  Tables(e.DataTable.Name).Current.DataRow.GetChildRows("商品套件名称").Count =0 Then
    Return
End If

这样写对吗?



--  作者:狐狸爸爸
--  发布时间:2011/11/22 13:57:00
--  
Dim ids As String = “”
For Each dr As DataRow In DataTables("商品档案").DataRows
    ids = ids & "," & dr("商品编码")
Next
ids= ids.Trim(",")
if ids > "" then
    DataTables("商品套件名称").LoadFilter = "商品编码 In (" & ids & ")"
    DataTables("商品套件名称").Load()
end if

--  作者:blackzhu
--  发布时间:2011/11/22 14:35:00
--  
谢谢!明白!
--  作者:blackzhu
--  发布时间:2011/11/22 15:16:00
--  
老大你这个代码有问题!还是出现一样的错误提示!
--  作者:blackzhu
--  发布时间:2011/11/22 15:17:00
--  
我的代码到没有出现提示.
--  作者:blackzhu
--  发布时间:2011/11/22 15:40:00
--  
要指定一个参数


--  作者:blackzhu
--  发布时间:2011/11/22 16:30:00
--  
不明白了. 我在主表的 AfterLoad  里面设置如下的代码,


Dim ids As String
For
Each dr As DataRow In DataTables("订单").DataRows
    ids = ids &
"," & dr("订单ID")
Next

ids= ids.Trim(
",")
DataTables
("订单明细").LoadFilter = "订单ID In (" & ids & ")"
DataTables
("订单明细").Load()


  我在窗口做个按钮 放入一个文本框,在按钮中放入了代码   

   DataTables("订单").LoadFilter = "订单ID =\'" & e.form.Controls("Textbox1").Value & "\'" 

   DataTables("订单").Load()

 做动态加载,结果出来的提示是:

图片点击可在新窗口打开查看此主题相关图片如下:tm截图未命名.jpg
图片点击可在新窗口打开查看

然后主表加载了,但是子表没有加载,怎么回事?

    

[此贴子已经被作者于2011-11-22 16:30:44编辑过]

--  作者:唐尸三摆手
--  发布时间:2011/11/22 16:43:00
--  全局表事件的BeforeAddDataRow 有BUG?
我也在用这段代码出现同样的问题,不知何故
--  作者:blackzhu
--  发布时间:2011/11/22 16:52:00
--  
老大的这段代码值得商榷


--  作者:唐尸三摆手
--  发布时间:2011/11/22 16:59:00
--  全局表事件的BeforeAddDataRow 有BUG?
Dim ids As String
For Each dr As DataRow In DataTables("借款表").DataRows
    ids = ids & "," & "\'" & dr("借款编号") & "\'" 
Next
ids = ids.Trim(",")

if ids > "" then
DataTables("还款表").LoadFilter = "借款编号 In (" & ids & ")"
DataTables("还款表").Load()
end if

这样就OK了,试试
[此贴子已经被作者于2011-11-22 17:02:11编辑过]