[英]Adding a Combobox to a Datagridview
因此,我正在開發一個小程序,我想將數據從SQL表導入到datagridview,這是ComboBox從同一數據庫的另一表填充的列之一。
這是我當前的代碼:
Public Sub Load_black(Optional ByVal linhas As Integer = 20)
i = 0
black.Columns.Clear()
black.Rows.Clear()
black.Clear()
ProdC.Open()
Query = "SELECT * FROM [plano2] where familia like '%tpa%'ORDER BY ordem"
myCMD = New SqlClient.SqlCommand(Query, ProdC)
myDRR = myCMD.ExecuteReader
If myDRR.HasRows = True Then
black.Columns.Add("Order", GetType(String))
black.Columns.Add("Number", GetType(String))
black.Columns.Add("Name", GetType(String))
black.Columns.Add("Cut Style", GetType(String))
black.Columns.Add("Cicles/cm", GetType(String))
black.Columns.Add("Leght", GetType(String))
black.Columns.Add("Colors", GetType(String))
black.Columns.Add("Date", GetType(String))
While myDRR.Read And i < linhas
black.Rows.Add(myDRR.Item("ordem").ToString, myDRR.Item("ref").ToString, myDRR.Item("design").ToString, myDRR.Item("tipodecorte").ToString, myDRR.Item("passagenscm").ToString, myDRR.Item("largura").ToString, myDRR.Item("numcores").ToString, myDRR.Item("dataentrada").ToString)
str_pb_ref(i) = myDRR.Item("ref").ToString
i = i + 1
End While
Else
MessageBox.Show("Table is empety.")
End If
myDRR.Close()
ProdC.Close()
grd_black.DataSource = black
End Sub
我想要做的是使用該組合框添加新行。
我已經嘗試了很多方法,但是要么我在數據庫表中有了值,要么我有了帶有其他表值的組合框。
謝謝
我之前解決此問題的方法是在表單設計器中設置datagridview的列,並設置特定的組合框列。
然后使用SELECT DISTINCT查詢填充組合框列選項。
如果需要的話,可以隱藏列標題,直到數據位於datagridview中為止。
更改代碼中的列類型有點麻煩,因為每個列類型是一個不同的列類型對象,您必須創建一個新的實例
System.Windows.Forms.DataGridViewComboBoxColumn
然后將其添加到datagridview
(第一篇文章-有什么好處嗎?)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.