以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  下拉列表下拉为自定义的列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154153)

--  作者:weibu
--  发布时间:2020/9/5 14:00:00
--  下拉列表下拉为自定义的列
For Each c As Col In Tables("mframe").Cols
  e.Sender.Items.Add(c.Caption)
Next

老师这个是下拉列表项目一个表所有的列标题。

我这边想下拉为一个表指定的标题,如下拉列名为:m 、 p  、c  、 d  对应对应列标题分别为 一、二、三、四;这个代码应该咋写

--  作者:有点蓝
--  发布时间:2020/9/5 14:08:00
--  
这个意思?

For Each c As Col In Tables("mframe").Cols
select case c.name
case "m","p",...
  e.Sender.Items.Add(c.Caption)
end select
Next

--  作者:weibu
--  发布时间:2020/9/5 14:13:00
--  
对的,谢谢
--  作者:weibu
--  发布时间:2020/9/6 12:41:00
--  
Dim Cols3() As String = e.Form.Controls("CheckedComboBox1").Text.Split("|")
For i As Integer = 0 To Cols3.Length -1
      dr2(Cols3(i)) = r(Cols3(i))
    Next

老师应为我选择下拉框的值是col3是列标题。但我现在上面代码赋值用的是列名。如何转化啊??

--  作者:有点蓝
--  发布时间:2020/9/6 20:18:00
--  
Dim Cols3() As String = e.Form.Controls("CheckedComboBox1").Text.Split("|")
Dim lst As new List(of String)
For Each c As Col In Tables("xx表").Cols
    If Array.IndexOf(Cols3,c.Caption) > -1
        lst.Add(c.Name)
    End If
Next

For i As Integer = 0 To lst .Count -1
    dr2(lst(i)) = r(lst(i))
Next