以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]求各位老大看看,这代码怎么不行??  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1291)

--  作者:菜鸟foxtable
--  发布时间:2008/12/1 16:36:00
--  [求助]求各位老大看看,这代码怎么不行??
参照自动输入示例,假如县市下还有细分,比如镇村,如何实现?我写了半天不是代码出错就是实现不了....

我的示例文件有:类别/项目/规格3个级别...
选择类别后该类别项目作为列表项目,选择了项目后该项目规格作为列表项目.下面代码怎么不行啊?

If e.Col.Name = "项目" Then
    If e.Row.IsNull("类别") Then
        e.Col.Combolist = ""
    Else
        e.Col.Combolist = DataTables("价表").GetComboListString("项目", "[类别] = \'" & e.Row("类别") & "\'") 
If e.Col.Name = "规格" Then
    If e.Row.IsNull("项目") Then
        e.Col.Combolist = ""
    Else
        e.Col.Combolist = DataTables("价表").GetComboListString("规格", "[项目] = \'" & e.Row("项目") & "\'") 
    
     End If
End If
     End If
End If


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

[此贴子已经被作者于2008-12-2 9:31:14编辑过]

--  作者:blackzhu
--  发布时间:2008/12/1 16:39:00
--  
以下是引用菜鸟foxtable在2008-12-1 16:36:00的发言:
如何实现这样的快捷录入?如果能实现真的太爽了...


图片点击可在新窗口打开查看此主题相关图片如下:001.jpg
图片点击可在新窗口打开查看

另外参照自动输入示例,假如县市下还有细分,如何实现?我写了半天不是代码出错就是实现不了....
If e.Col.Name = "项目" Then
    If e.Row.IsNull("类别") Then
        e.Col.Combolist = ""
    Else
        e.Col.Combolist = DataTables("价表").GetComboListString("项目", "[类别] = \'" & e.Row("类别") & "\'")
     End If
End If


 下载信息  [文件大小:1.1 MB  下载次数:0]
图片点击可在新窗口打开查看点击浏览该文件:菜鸟项目.table
   自动输入应该有两个地方要设置,详细看狐爸的自动输入的示列。


--  作者:菜鸟foxtable
--  发布时间:2008/12/2 9:32:00
--  
图片点击可在新窗口打开查看顶起
--  作者:smileboy
--  发布时间:2008/12/2 11:05:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:菜鸟项目.table


--  作者:菜鸟foxtable
--  发布时间:2008/12/2 17:21:00
--  
图片点击可在新窗口打开查看原来代码可以这样写,举一反三,就算再多一级都不是问题了.谢谢老大指点.

If e.Col.Name = "项目" Then
    If e.Row.IsNull("类别") Then
        e.Col.Combolist = ""
    Else \'否则
        Dim drs As New List(Of DataRow)
        Dim Val AS String
        drs = DataTables("价表").Select("[类别] = \'" & e.Row("类别") & "\'")
        For Each dr As DataRow In drs
            Val = Val & "|" & dr("项目")
        Next
        e.Col.Combolist = Val
    End If
End If

If e.Col.Name = "规格" Then
    If e.Row.IsNull("类别") OrElse e.Row.IsNull("项目") Then
        e.Col.Combolist = ""
    Else \'否则
        Dim drs As New List(Of DataRow)
        Dim Val AS String
        drs = DataTables("价表").Select("[类别] = \'" & e.Row("类别") & "\'" & " and [项目]=\'" & e.Row("项目") & "\'")
        For Each dr As DataRow In drs
            Val = Val & "|" & dr("规格")
        Next
        e.Col.Combolist = Val
    End If
End If