以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]自动列表项目  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74539)

--  作者:liuxianjie1980
--  发布时间:2015/9/13 19:20:00
--  [求助]自动列表项目

有两列:“产品名称”及“规格牌号”,希望填入“产品名称”后,“规格牌号”自动列出该产品的所有牌号规格

在该表的startedit事件中写入:

Tables("合同明细表").Cols("产品名称").ComboList = DataTables("产品资料表").GetComboListString("产品名称")
If e.Table.current("产品名称") IsNot Nothing Then
    e.Table.Cols("规格牌号").Combolist = DataTables("产品资料表").GetComboListString("规格牌号","产品名称= \'" & e.Table.current("产品名称") & "\'")
End If

 

 

该代码始终显示的是所有的规格牌号,好像没有进行筛选 啊


--  作者:大红袍
--  发布时间:2015/9/13 19:49:00
--  

PrepareEdit事件

 

If e.Col.Name = "规格牌号" Then
    If e.Row.isnull("产品名称")  Then
        e.Table.Cols("规格牌号").Combolist = DataTables("产品资料表").GetComboListString("规格牌号"")
       
    Else
        e.Table.Cols("规格牌号").Combolist = DataTables("产品资料表").GetComboListString("规格牌号","产品名称= \'" & e.Row("产品名称") & "\'")
    End If
   
End If


--  作者:liuxianjie1980
--  发布时间:2015/9/13 19:59:00
--  
好像还是不行,红袍兄!
--  作者:liuxianjie1980
--  发布时间:2015/9/13 20:00:00
--  
需要关闭它的关联表吗?
--  作者:liuxianjie1980
--  发布时间:2015/9/13 20:10:00
--  

我反复试过了,代码:Tables("合同明细表").Cols("产品名称").ComboList = DataTables("产品资料表").GetComboListString("产品名称")只能放在startedit事件中,
而代码:

If e.Col.Name = "规格牌号" Then
    If e.Row.isnull("产品名称")  Then
        e.Table.Cols("规格牌号").Combolist = DataTables("产品资料表").GetComboListString("规格牌号"")
       
    Else
        e.Table.Cols("规格牌号").Combolist = DataTables("产品资料表").GetComboListString("规格牌号","产品名称= \'" & e.Row("产品名称") & "\'")
    End If
   
End If

 

无论放在startedit还是prepareedit都不行!


--  作者:liuxianjie1980
--  发布时间:2015/9/13 20:27:00
--  

又犯了一个低级错误,“规格牌号”列之前取值产品资料表了,怪不得。

 

不好意思,红袍兄。