将Combobox添加到Datagridview

时间:2012-06-28 09:21:53

标签: sql vb.net datagridview combobox

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

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

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

由于

1 个答案:

答案 0 :(得分:0)

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

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

如果您事先想要,可以隐藏列标题,直到数据在datagridview中。

它在代码中更改了列类型,因为每个列类型都是不同的列类型对象 你必须创建

的新实例
 System.Windows.Forms.DataGridViewComboBoxColumn

然后将其添加到datagridview

(第一篇文章 - 任何好处?)