以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  ListBox1同时显示两列值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92421)

--  作者:良才
--  发布时间:2016/11/3 8:58:00
--  ListBox1同时显示两列值

Dim lst As WinForm.ListBox = Forms("学生调班").Controls("ListBox1")

lst.ComboList= DataTables("基本信息_Table1").GetComboListString("学生编号","班级 = \'"& lst.SelectedIndex &"\'")

怎样改代码同时显示学生编号和学生姓名,如下图

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20161103085429.png
图片点击可在新窗口打开查看

请指教,谢谢!


--  作者:blackzhu
--  发布时间:2016/11/3 9:05:00
--  
 Dim Arys As List(Of String())
Dim mystr As String
Arys = DataTables("表A").GetValues("第一列|第二列") \'列名用符号|分割
Dim lst As WinForm.ListBox = e.Form.Controls("ListBox1")
For Each Ary As String() In Arys
    mystr = Ary(0) & "-" & Ary(1)
    lst.Items.Add(mystr)
Next
--  作者:良才
--  发布时间:2016/11/3 11:19:00
--  
谢谢!
--  作者:良才
--  发布时间:2016/11/3 13:09:00
--  

有可能有重复学生姓名,只能加上学生姓名,如果该学生缴费项目中学费班级改变了,缴费项目中餐费班级也跟着改变,请指点,谢谢

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学生调班.zip

[此贴子已经被作者于2016/11/3 13:16:23编辑过]

--  作者:有点青
--  发布时间:2016/11/3 14:00:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学生调班.foxdb


--  作者:良才
--  发布时间:2016/11/3 17:10:00
--  
谢谢!
--  作者:良才
--  发布时间:2016/11/3 19:15:00
--  

If e.Form.Controls("原班级").Value Is Nothing Then
    MessageBox.Show("请选择 [原班级]")
Else
    If e.Form.Controls("新班级").Value Is Nothing Then
        MessageBox.Show("请选择 [调入班级]")
    Else
        Dim lbx1 As WinForm.ListBox = e.Form.Controls("ListBox1")
        Dim lbx2 As WinForm.ListBox = e.Form.Controls("ListBox2")
        If e.Form.Controls("ListBox1").SelectedIndex <= 0 Then    ‘没有选

            MessageBox.Show("请选择 [学生]")   

        Else
            lbx2.Items.Add(lbx1.SelectedValue)
            lbx1.items.RemoveAt(lbx1.SelectedIndex)
        End If
    End If
End If

 

请指教,谢谢


--  作者:有点蓝
--  发布时间:2016/11/3 20:30:00
--  
 If e.Form.Controls("ListBox1").SelectedIndex < 0 Then
--  作者:良才
--  发布时间:2016/11/3 21:14:00
--  
谢谢!
--  作者:Liangcai
--  发布时间:2018/9/28 21:02:00
--  
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "Sel ect  班级,b.学生编号,学生姓名 From {基本信息} a Inner JOIN {缴费信息} b ON a.学生编号 = b.学生编号"
dt = cmd.ExecuteReader()
Dim Arys As List(Of String())
Dim mystr As String
Dim lst As WinForm.ListBox = e.Form.Controls("ListBox1")
Arys = dt.GetValues("学生编号|学生姓名","班级 = \'" & e.Sender.Text & "\'") \'列名用符号|分割
For Each Ary As String() In Arys
    mystr = Ary(0) & "-" & Ary(1)
    lst.Items.Add(mystr)
Next
如果连续选择原班级,ListBox1会新增两个班级学生,怎么清空ListBox1。请老师指教,谢谢!