如何将动态数据添加到datagridviewcombobox列?

时间:2016-10-17 06:43:00

标签: vb.net winforms datagridview

我正在开发VB.net应用程序。 在该应用程序中,我使用DataGirdView来显示数据。 我使用了datagridview的DataSource属性来显示3列'数据直接来自数据库。

在这些列之后,我添加了另一个DataGridViewComboBoxColumn。然后我想将数据动态添加到ComboBoxColumn。 怎么做?

Click here to see image

Private Function CreatComboBoxWithEnum() As DataGridViewComboBoxColumn
    Dim combo As New DataGridViewComboBoxColumn()
    Sqlconn = New SqlConnection
    Sqlconn.ConnectionString = "server=.\SQLEXPRESS_2005;Initial Catalog=MachineShopScheduling ;Integrated Security=SSPI;"
    Dim adpter As New SqlDataAdapter
    Dim ds As New DataTable
    Try
        Sqlconn.Open()
        Dim Query As String
        For Each dr As DataGridViewRow In DataGridView1.Rows
            Dim val As String = dr.Cells("SrDataGridViewTextBoxColumn").Value.ToString
            Query = "select OperationNo from RoutingCalculation where Sr ='" & val & "' "
            COMMAND = New SqlCommand(Query, Sqlconn)
            adpter.SelectCommand = COMMAND
            adpter.Fill(ds)
            combo.DataSource = ds
            combo.DataPropertyName = "OperationNo"
            combo.Name = "OperationNo"
            OperationNo.ValueMember = "OperationNo"
            OperationNo.DisplayMember = "OperationNo"
        Next

        Sqlconn.Close()
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
    Return combo
End Function

1 个答案:

答案 0 :(得分:0)

 Private Sub load_operationNo()
    Sqlconn = New SqlConnection
    Sqlconn.ConnectionString = "server=.\SQLEXPRESS_2005;Initial Catalog=MachineShopScheduling ;Integrated Security=SSPI;"
    Try
        op.Name = "OperationNo"
        DataGridView1.Columns.Add(op)
        Sqlconn.Open()
        Dim Query As String
        Dim i As Integer = 0
        For Each dr As DataGridViewRow In DataGridView1.Rows
            Dim OPno As New DataGridViewComboBoxCell
            With OPno
                Dim adpter As New SqlDataAdapter
                Dim dt As New DataTable
                Dim val As String = dr.Cells("SrDataGridViewTextBoxColumn").Value.ToString
                Query = "select OperationNo from RoutingCalculation where Sr = " & val & " order by sr"
                Using cmd As New SqlCommand(Query, Sqlconn)
                    adpter.SelectCommand = cmd
                    adpter.Fill(dt)
                End Using
                .DataSource = dt
                .ValueMember = "OperationNo"
                .DisplayMember = "OperationNo"
                DataGridView1.Rows(i).Cells("OperationNo") = OPno
                i = i + 1
            End With
            Next
        Sqlconn.Close()
    Catch ex As Exception
        'MessageBox.Show(ex.Message)
    End Try
End Sub

这是添加动态添加数据到DatagridViewComboboxColumn

的代码
相关问题