2011-07-19 9 views
0

私は第1列(コンボボックス)を含むdatagridviewを持っています、第2列と第3列はテキストボックスです。コンボボックスはdatatableを使って埋められました。私の問題はフォームを読み込むことです、私はデータベースからレコードを取得し、それらのレコードに私のコンボボックスの値を設定します。だから私は私のデータベースから5レコードを持っている場合、私は5 rowを持っている必要があります私のdatagridviewでコンボボックスを含む。datagridview combobox

任意の提案を大幅に

を高く評価します、私は以下のコードを試みたが、というエラーがあります「の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 

答えて

2

完全に新しい回答です。エラーを回避する方法を見つけました:

回答は、「レポート・エラー」に、このルーチンを追加し、あなたが得るエラーを忘れる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 
+0

こんにちはマーティン、あなたの偉大なソリューションをありがとう。それは魅力のように働く。 – tirso

関連する問題