【发布时间】:2016-09-15 23:21:05
【问题描述】:
我是 DataGridView 的新手,我通常使用列表视图 我的程序从 sql server 检索数据并在 datagridview 中显示 那么如何将其中一列设为组合框并向其添加子项并在组合框中显示来自数据库的当前值?
这是我显示数据的代码:
Public Sub showGV()
Using cmd As New SqlCommand("SELECT * FROM money_sent", Conn)
cmd.CommandType = CommandType.Text
Using sda As New SqlDataAdapter(cmd)
Using dt As New DataTable()
sda.Fill(dt)
'Set AutoGenerateColumns False
MetroGrid2.AutoGenerateColumns = False
'Set Columns Count
MetroGrid2.ColumnCount = 12
'Add Columns
Dim bc As New DataGridViewButtonColumn
bc.Tag = False
bc.Text = "Delete"
bc.Name = ""
bc.Width = 25
'MetroGrid1.Columns.Add(bc)
MetroGrid2.Columns.Insert(0, bc)
MetroGrid2.Columns(1).Name = "smoney"
MetroGrid2.Columns(1).HeaderText = "المبلق المرسل"
MetroGrid2.Columns(1).DataPropertyName = "smoney"
MetroGrid2.Columns(2).Name = "moneyt"
MetroGrid2.Columns(2).HeaderText = "العملة"
MetroGrid2.Columns(2).DataPropertyName = "moneyt"
MetroGrid2.Columns(3).Name = "commission"
MetroGrid2.Columns(3).HeaderText = "العمولة"
MetroGrid2.Columns(3).DataPropertyName = "commission"
MetroGrid2.Columns(4).Name = "rname"
MetroGrid2.Columns(4).HeaderText = "أسم المستقبل"
MetroGrid2.Columns(4).DataPropertyName = "rname"
MetroGrid2.Columns(5).Name = "rphone"
MetroGrid2.Columns(5).HeaderText = "هاتف المستقبل"
MetroGrid2.Columns(5).DataPropertyName = "rphone"
MetroGrid2.Columns(6).Name = "rcountry"
MetroGrid2.Columns(6).HeaderText = "البلد المستقيل"
MetroGrid2.Columns(6).DataPropertyName = "rcountry"
MetroGrid2.Columns(7).Name = "sname"
MetroGrid2.Columns(7).HeaderText = "أسم المستقبل"
MetroGrid2.Columns(7).DataPropertyName = "sname"
MetroGrid2.Columns(8).Name = "sphone"
MetroGrid2.Columns(8).HeaderText = "هاتف المستقبل"
MetroGrid2.Columns(8).DataPropertyName = "sphone"
MetroGrid2.Columns(9).Name = "comname"
MetroGrid2.Columns(9).HeaderText = "الشركة المستقبلة"
MetroGrid2.Columns(9).DataPropertyName = "comname"
MetroGrid2.Columns(10).Name = "date"
MetroGrid2.Columns(10).HeaderText = "تاريخ الارسال"
MetroGrid2.Columns(10).DataPropertyName = "date"
MetroGrid2.Columns(11).Name = "note"
MetroGrid2.Columns(11).HeaderText = "الملاحظات"
MetroGrid2.Columns(11).DataPropertyName = "note"
MetroGrid2.Columns(12).Name = "id"
MetroGrid2.Columns(12).HeaderText = "id"
MetroGrid2.Columns(12).DataPropertyName = "id"
MetroGrid2.DataSource = dt
Dim imageb As New DataGridViewButtonColumn
imageb.Tag = False
imageb.Text = "image"
imageb.Name = ""
imageb.Width = 25
'MetroGrid1.Columns.Add(bc)
MetroGrid2.Columns.Insert(10, imageb)
Me.MetroGrid2.Columns("id").Visible = False
End Using
End Using
End Using
End Sub
这是我想要使其成为组合框列的列:
MetroGrid2.Columns(2).Name = "moneyt"
MetroGrid2.Columns(2).HeaderText = "العملة"
MetroGrid2.Columns(2).DataPropertyName = "moneyt"
【问题讨论】:
-
运行
SELECT查询以从表中获取您需要的一列,然后用结果填充DataTable,并设置combobox.DataSource = DataTable -
首先为它创建一个
DataGridViewComboboxColumn。使用项目的数据源或在设计器中设计它 -
你能告诉我怎么做吗?
标签: vb.net datagridview