0

所以我正在开发一个小程序,我想将数据从 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

我想要做的是使用该组合框添加一个新行。

我已经尝试了很多方法,但是要么我在数据库表中有值,要么我有带有其他表值的组合框。

谢谢

4

1 回答 1

0

我之前解决这个问题的方法是在表单设计器中为datagridview设置列,设置特定的组合框列。

然后使用 SELECT DISTINCT 查询填充组合框列选项。

如果需要,您可以隐藏列标题,直到数据位于 datagridview 中。

它有点像在代码中更改列类型,因为每个列类型都是不同的列类型对象你必须创建一个新的实例

 System.Windows.Forms.DataGridViewComboBoxColumn

然后将其添加到datagridview

(第一篇文章 - 有什么好处吗?)

于 2012-06-28T10:22:39.730 回答