【问题标题】:datagridview combobox数据网格视图组合框
【发布时间】:2011-07-19 06:36:56
【问题描述】:

我有一个包含第一列(组合框)的数据网格视图,第二和第三列是文本框。使用数据表填充组合框。我的问题是在加载表单时,我将从我的数据库中获取一条记录,并根据这些记录设置我的组合框的值。因此,如果我的数据库中有 5 条记录,那么我的 datagridview 中应该有 5 行包含组合框。

任何建议将不胜感激

我尝试了下面的代码,但有一个错误提示“datagridview 中发生以下异常......”但它会正确显示,但如果我单击任何单元格,该错误总是会出现。

Private Sub frmEditIngredientManagement_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    sSQL = "SELECT * FROM fs_nutrient"
    ReadSQL(sSQL)

    Dim dtNutrient As New DataTable
    dtNutrient.Load(reader)

    dgvCbxIngredientList.DataSource = dtNutrient
    dgvCbxIngredientList.DisplayMember = "ndb_no"
    dgvCbxIngredientList.ValueMember = "nutrient_id"

    sSQL = "SELECT * FROM fs_ingredient_management_nutrient INNER JOIN fs_nutrient ON fs_ingredient_management_nutrient.nutrient_id = fs_nutrient.nutrient_id WHERE ingredient_management_id = " & intIngredientManagementId & " "
    ReadSQL(sSQL)

    If reader.HasRows Then
        While reader.Read
            Dim row As String() = New String() {reader("ndb_no"), "dd", "vv"}
            dgvNutrient.Rows.Add(row)
        End While
    End If
End Sub

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    全新的答案。找到解决错误的方法:

    MSDN datagridviewcomboboxcolumn helpfile找到答案

    将此例程添加到“报告错误”并忘记您收到的错误:

    Private Sub dgvNutrient_DataError(ByVal sender As Object, ByVal e As DataGridViewDataErrorEventArgs) Handles dgvNutrient.DataError
        'MessageBox.Show("Error happened " & e.Context.ToString())
    End Sub
    

    【讨论】:

    • 嗨,马丁,感谢您提供出色的解决方案。它就像一个魅力。
    猜你喜欢
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    相关资源
    最近更新 更多