设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 13872|回复: 2
打印 上一主题 下一主题

DisplayMember valuemember

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-25 00:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DisplayMember   显示的是selectindex   
valuemember      显示的是selectvalue     
例如:   
表中有id,name两个字段,   要用combobox实现点击name就可以看到其它信息   
          combobox.datasource=dataset   
          combobox.valuemember='name'   
          combobox.displaymember='id'   

我们就可以用selectindex来获得name的id,便可进行查询 .
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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 07:37 , Processed in 0.086670 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表