不用代码实现绑定数据
在开发纯净水服务器端程序派单时要求实现在combobox控件中选择一个项,在textbox中显示其对应的值。点击combobox上的小三角按钮,打上使用数据绑定项的勾。下面有四个选项。分别是数据源,显示成员,值成员,选定值。
其中数据源等效于combobox属性中的datasource,就是选择数据库中的表;显示成员等效displaymember,是在combobox控件中显示的项。值成员等效于valuemember,是对应显示的项的值。选定值 现在还不明白有什么用。添加查询 不知道怎么用。预览数据 应该是现实查询结果。
试验例子:数据库中有一个货物管理表(hwzl),共三列分别是HID(自动生成),hwm(货物名称),dj(货物价格)。要在combobox中显示hwm列。当选择其中一项时,在textbox中显示其对应的价格。实现:在窗体中建combobox1,textbox1.按照上面方法设置combox1.数据源为数据库中hwzl表,显示成员为hwm,值成员为dj。在下面代码中添加TextBox1.Text = ComboBox1.SelectedValue
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
TextBox1.Text = ComboBox1.SelectedValue
End Sub
combobox的事件SelectedIndexChanged表示获取或设置指定当前选定项的索引改变是触发事件,就是下拉菜单里面选项改变是触发的事件。
ComboBox1.SelectedValue :获取或设置由 值成员( ValueMember )属性指定的成员属性的值。就是下拉菜单里面选项对应的记录。
代码实现绑定数据
例子同上,
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim strConn As SqlConnection = New SqlConnection("Data Source=localhost;Initial Catalog=cjs;Integrated Security=True")
Dim db As SqlDataAdapter = New SqlDataAdapter
strConn.Open()
Try
db.SelectCommand = New SqlCommand
db.SelectCommand.Connection = strConn
db.SelectCommand.CommandText = "SELECT * FROM hwzl"
db.SelectCommand.ExecuteNonQuery()
Dim DT As DataTable = New DataTable("hwzl")
db.Fill(DT)
Me.ComboBox1.DataSource = DT
Me.ComboBox1.DisplayMember = "hwm"
Me.ComboBox1.ValueMember = "dj"
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim strConn As SqlConnection = New SqlConnection("Data Source=localhost;Initial Catalog=cjs;Integrated Security=True")
Dim db As SqlDataAdapter = New SqlDataAdapter
strConn.Open()
Try
db.SelectCommand = New SqlCommand
db.SelectCommand.Connection = strConn
db.SelectCommand.CommandText = "SELECT * FROM hwzl"
db.SelectCommand.ExecuteNonQuery()
Dim DT As DataTable = New DataTable("hwzl")
db.Fill(DT)
Me.ComboBox1.DataSource = DT
Me.ComboBox1.DisplayMember = "hwm"
Me.ComboBox1.ValueMember = "dj"
strConn.close()
Catch ex As Exception
Finally
db.Dispose()
End Try
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
TextBox1.Text = ComboBox1.SelectedValue.ToString
End Sub
其中数据源等效于combobox属性中的datasource,就是选择数据库中的表;显示成员等效displaymember,是在combobox控件中显示的项。值成员等效于valuemember,是对应显示的项的值。选定值 现在还不明白有什么用。添加查询 不知道怎么用。预览数据 应该是现实查询结果。
试验例子:数据库中有一个货物管理表(hwzl),共三列分别是HID(自动生成),hwm(货物名称),dj(货物价格)。要在combobox中显示hwm列。当选择其中一项时,在textbox中显示其对应的价格。实现:在窗体中建combobox1,textbox1.按照上面方法设置combox1.数据源为数据库中hwzl表,显示成员为hwm,值成员为dj。在下面代码中添加TextBox1.Text = ComboBox1.SelectedValue
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
TextBox1.Text = ComboBox1.SelectedValue
End Sub
combobox的事件SelectedIndexChanged表示获取或设置指定当前选定项的索引改变是触发事件,就是下拉菜单里面选项改变是触发的事件。
ComboBox1.SelectedValue :获取或设置由 值成员( ValueMember )属性指定的成员属性的值。就是下拉菜单里面选项对应的记录。
代码实现绑定数据
例子同上,
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim strConn As SqlConnection = New SqlConnection("Data Source=localhost;Initial Catalog=cjs;Integrated Security=True")
Dim db As SqlDataAdapter = New SqlDataAdapter
strConn.Open()
Try
db.SelectCommand = New SqlCommand
db.SelectCommand.Connection = strConn
db.SelectCommand.CommandText = "SELECT * FROM hwzl"
db.SelectCommand.ExecuteNonQuery()
Dim DT As DataTable = New DataTable("hwzl")
db.Fill(DT)
Me.ComboBox1.DataSource = DT
Me.ComboBox1.DisplayMember = "hwm"
Me.ComboBox1.ValueMember = "dj"
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim strConn As SqlConnection = New SqlConnection("Data Source=localhost;Initial Catalog=cjs;Integrated Security=True")
Dim db As SqlDataAdapter = New SqlDataAdapter
strConn.Open()
Try
db.SelectCommand = New SqlCommand
db.SelectCommand.Connection = strConn
db.SelectCommand.CommandText = "SELECT * FROM hwzl"
db.SelectCommand.ExecuteNonQuery()
Dim DT As DataTable = New DataTable("hwzl")
db.Fill(DT)
Me.ComboBox1.DataSource = DT
Me.ComboBox1.DisplayMember = "hwm"
Me.ComboBox1.ValueMember = "dj"
strConn.close()
Catch ex As Exception
Finally
db.Dispose()
End Try
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
TextBox1.Text = ComboBox1.SelectedValue.ToString
End Sub