以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态列表唯一项目自动赋值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141952)

--  作者:qqhealth
--  发布时间:2019/10/15 8:16:00
--  动态列表唯一项目自动赋值
老师您好,下面是药品订购的一段代码,怎么实现选了药品名称后,后面的生产厂家、规格如果是唯一的自动赋值,如果不唯一则进行手动选择。不知问题在哪?谢谢!
With .AddSelect("药品类别","药品类别","|" & DataTables("药品").SQLGetComboListString("药品类别"))
            .Attribute = """
        End With
        With .AddSelect("药品名称","药品名称","")
            .Attribute = """
        End With
        Dim dr As DataRow = DataTables("药品").SQLfind("药品名称 = \'" & e.PostValues("药品名称") & "\'")
        If dr IsNot Nothing Then
            With .AddInput("生产厂家","生产厂家","text")
                .Value = dr("生产厂家")
                .readonly = True
            End With
        Else
            With .AddSelect("生产厂家","生产厂家","")
                .Attribute = """
            End With
        End If
        Dim dr1 As DataRow = DataTables("药品").SQLfind("生产厂家 = \'" & e.PostValues("生产厂家") & "\'")
        If dr1 IsNot Nothing Then
            With .AddInput("规格","规格","text")
                .Value = dr1("规格")
                .readonly = True
            End With
        Else
            With .AddSelect("规格","规格","")
                .Attribute = "" \'调用js函数
            End With
        End If
        .AddInput("药品代码","药品代码","text")
        .AddInput("价格","价格","number").Readonly = True
        With .AddInput("数量","数量","number")
            .Step = "1"
            .Attribute = ""
        End With
        .AddInput("金额","金额","number")


--  作者:有点蓝
--  发布时间:2019/10/15 9:13:00
--  
Dim s1 as string = DataTables("药品").SQLGetComboListString("规格","生产厂家 = \'" & e.PostValues("生产厂家") & "\'")
if s1.contains("|") then
With .AddSelect("规格","规格","|" & s1)
                .Attribute = "" \'调用js函数
            End With
else
            With .AddInput("规格","规格","text")
                .Value = s1
                .readonly = True
            End With
endif