所以我正在开发一个小程序,我想将数据从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
我想要做的是添加一个带有该组合框的新行。
我已经尝试了很多方法,但要么我在数据库表中有值,要么我有组合框与其他表值。
由于
答案 0 :(得分:0)
之前解决此问题的方法是在表单设计器中设置datagridview的列,设置特定的组合框列。
然后使用SELECT DISTINCT查询填充组合框列选项。
如果您事先想要,可以隐藏列标题,直到数据在datagridview中。
它在代码中更改了列类型,因为每个列类型都是不同的列类型对象 你必须创建
的新实例 System.Windows.Forms.DataGridViewComboBoxColumn
然后将其添加到datagridview
(第一篇文章 - 任何好处?)