zoukankan      html  css  js  c++  java
  • [转]CheckedlistBox绑定数据库,并获得所有选中的值(ValueMember)和显示值(DisplayMember)

    http://hi.baidu.com/qzrc/blog/item/f1bdd158ca632c81810a187f.html

    CheckedlistBox绑定数据库,并获得所有选中的值(ValueMember)和显示值(DisplayMember)

    2006年10月25日 星期三 23:22

    CheckedlistBox绑定数据库,并获得所有选中的值(ValueMember)和显示值(DisplayMember)

    新建一个窗体:需要两个控件:CheckedlistBox控件 命名为:ChkListSecName
                                       Button控件 命名为:BtnOk

    CheckedlistBox控件比较有用到两个属性分别为CheckOnClick为True:表示单击就选中当前行,为False:要点两下才可以选中。(默认值为False)。还有一个属性为ThreeDCheckBoxes为True:表示三维的选中标记,为False:表示表面的显示标记。(默认值为False)。

    在当前窗体代码的最上面引用如下代码:Imports System.Data.SqlClient

    接着定义两个变量:连接变量(Con)和数据集(ChkListDst)
    Dim str As String = "data source=(Local);persist security info=false;user id=sa;password=;initial catalog=TestData"
    Dim Con As New SqlConnection(str)
    Dim ChkListDst As New DataSet

    接着定义一个过程,把CheckedlistBox绑定到数据库
    Public Sub ChkListBin()
      Try
         If Con.State = ConnectionState.Closed = True Then '如果连接是关闭的,就执行打开连接
            Con.Open()  '打开连接
         End If
         ChkListDst.Clear()   '清空数据集
         Dim AdpChkList As New SqlDataAdapter("Select SecNo,SecName from DeptData Order By SecNo", Con) '定义数据适配器所获得的值
         AdpChkList.Fill(ChkListDst, "SecName")  '把数据适配器填充到数据集中,表名的映射名为SecName
         ChkListSecName.DataSource = ChkListDst.Tables("SecName") '定义CheckedlistBox的数据源
         ChkListSecName.ValueMember = "SecNo"       '定义CheckedlistBox的Value值,没有直接显示出来
         ChkListSecName.DisplayMember = "SecName"   '定义CheckedlistBox的Display值,直接显示出来
      Catch ex As Exception
         MsgBox(ex.ToString) '出错提醒
      Finally
        If Con.State = ConnectionState.Open = True Then '如果连接是打开的,就执行关闭连接
           Con.Close()  '关闭连接
        End If
      End Try
    End Sub

    在它窗口的初始化加载的时候,加入刚刚定义的把CheckedlistBox绑定数据库的过程
    Private Sub FrmChkList_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
       ChkListBin()
    End Sub

    在按钮事件中
    Private Sub BtnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOk.Click
       Dim N As Integer
       For N = 0 To ChkListSecName.Items.Count - 1
           If ChkListSecName.GetItemChecked(N) = True Then '从第1条到最后一条,只要为True进入判断
              ChkListSecName.SelectedIndex = ChkListSecName.GetItemText(N) '只要为True,让它为当前行
              MsgBox(ChkListSecName.SelectedValue & ChkListSecName.Text)   
              '显示当前行的值(ValueMember)和显示值(DisplayMember)
           End If
       Next
    End Sub

  • 相关阅读:
    BZOJ 2299 向量
    BZOJ 1237 配对
    BZOJ 2226 LCMSum
    BZOJ 1876 SuperGCD
    查漏补缺:C++STL简述(容器部分)
    查漏补缺:Linux进程与线程的区别
    码海拾遗:常用的其中排序算法
    码海拾遗:简述C++(一)
    码海拾遗:简单的链表类
    码海拾遗:位运算实现加减乘除
  • 原文地址:https://www.cnblogs.com/flyingfish/p/1303688.html
Copyright © 2011-2022 走看看