0
我是DataGridView中的新成员我通常使用列表视图 我的程序从sql服务器中检索数据并在datagridview中显示它 所以我如何让列之一是combobox并添加子项目,并显示来自数据库的组合框中的当前值?在datagridview组合框中显示来自sql server的数据
这是我的代码来显示数据:
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' – David
开始为它创建一个'DataGridViewComboboxColumn'。使用项目的数据源或在设计师中设计它 – Plutonix
你能告诉我怎么做吗? –