VB.Net la liaison datagridview Comboboxcolumn à datagridviewTextboxColumn

Je suis le chargement de données à partir de deux tables: institut et du pays. L'institut dispose de 3 colonnes: instId, nom, countryId. Et le pays dispose de 2 colonnes: countryId, nom de où countryId est une clé étrangère de la table country. - Je remplir ces deux tables dans le dataset. J'ai datagridview et définir sa source de données de l'institut de table dans mon dataset. J'ai aussi créer datagridviewcomboboxcolumn et le lier pays de table. Regardons le code suivant:

    Public Class frmDGV
Dim sqlConn As SqlConnection
Dim dsOptions As DataSet
Dim daInstitute As SqlDataAdapter
Dim daAdapter As SqlDataAdapter
Dim bsCountry As BindingSource
Private Sub frmTest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
dsOptions = New DataSet
loadOptions()
dgvInstitute.DataSource = dsOptions.Tables("institute")
bsCountry = New BindingSource(dsOptions, "country")
Dim col As New DataGridViewComboBoxColumn
col.DataPropertyName = "countryName"
col.HeaderText = "Country"
col.Name = "cName"
col.DataSource = bsCountry
col.DisplayMember = "countryName"
col.ValueMember = "countryId"
dgvInstitute.Columns.Add(col)
dgvInstitute.Columns(0).Width = 60
dgvInstitute.Columns(1).Width = 200
dgvInstitute.Columns(2).Width = 60
dgvInstitute.Columns(3).Width = 120
Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub
Sub loadOptions()
Dim sql As String
Try
sqlConn = New SqlConnection(connString)
sqlConn.Open()
sql = "select instId, name, countryId from institute"
daInstitute = New SqlDataAdapter(sql, sqlConn)
daInstitute.Fill(dsOptions, "institute")
'----------------------------------------------------------------------
sql = "select countryId, countryName from country"
daAdapter = New SqlDataAdapter(sql, sqlConn)
daAdapter.Fill(dsOptions, "country")
'----------------------------------------------------------------------
sqlConn.Close()
Catch ex As Exception
sqlConn.Close()
MsgBox(Err.Description)
End Try
End Sub
End Class

Comment puis-je afficher le bon nom de pays dans la zone de liste déroulante basée sur la countryId dans le datagridview en utilisant les techniques de liaison pas de l'aide d'une boucle?
Voir l'image suivante:VB.Net la liaison datagridview Comboboxcolumn à datagridviewTextboxColumn

OriginalL'auteur Hilal Al-Rajhi | 2014-01-13