Liaison ComboBox et datagrid
Bonjour,
J'ai créé un dataset lié à ma base Access "sites" avec l'assistant de configuration de sources de données.
Dans mon form j'ai un "Combobox" (contenant une liste de sites internet) , un "Datagrid" et un bouton "Afficher".
Je voudrais dès qu'un site est sélectionné (dans ma combo) , sur clique du bouton Afficher, cela m'affiche toutes les infos du site sélectionné.
Dans mon SitesDataAdapter , j'ai créé la requete paramétrée suivante (FillByIDSites) , qui fonctionne:
Code:
1 2 3 4 5
| SELECT Sites.Num_Site, Sites.Num_Cat, Sites.Num_Iden, Sites.Nom_Site, Sites.Lien_Web, Sites.Dte_inscription
FROM ((Sites INNER JOIN
Identifiants ON Sites.Num_Iden = Identifiants.Num_Iden) INNER JOIN
Categories ON Sites.Num_Cat = Categories.Num_Cat)
WHERE (Sites.Num_Site = ?) |
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| Imports System.Data
Imports System.Data.OleDb
Public Class Form_principal
Dim idSites As Integer
Private Sub Form_principal_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO : cette ligne de code charge les données dans la table 'SitesDataSet.Sites'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
Me.SitesTableAdapter.Fill(Me.SitesDataSet.Sites)
'Propriétés de la liste déroulante des sites
Me.cmbChoixSite.SelectedIndex = -1
Me.cmbChoixSite.SelectedText = ">>> Sélection d'un Site <<<"
End Sub
Private Sub btnAfficher_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAfficher.Click
idSites = Me.cmbChoixSite.ValueMember
'Configuration du gestionnaire de liaison sur la source de données
SitesBindingSource.DataSource = Me.SitesTableAdapter.FillByIDSites(Me.SitesDataSet.Sites, idSites)
'Liaison du gestionnaire avec les contrôles d'affichage de données
SitesBindingNavigator.BindingSource = SitesBindingSource
SitesDataGridView.DataSource = SitesBindingSource
End Sub
End Class |
Mon souci est qu'au moment de l'exécution de mon appli, je sélectionne le site (pas de souci) mais dès que je clique sur "Afficher", une Exception "InvalidCastException" est levée sur la ligne en gras ci-dessus.
Indiquant que
Citation:
La conversion de la chaîne "Num_Site" en type 'Integer' n'est pas valide.
Dans ma base access , le type de mon champ "Num_Site" est en Numéro automatique.
Comment puis-je faire pour créer la liaison entre mon comboBox et mon datagrid?
Par avance merci.
Bonne journée
A propos liaison ComboBox et datagrid
Je suis moi même profane (débutant depuis le tout début) mais je pense aider
- Il faut voir la transformation de la valeur tirée du comboBox qui est forcément différente du type integer déclaré pour IDsites, je pense qu'il faut faire suivre l'égalité par l'expression "to integer" pour que la transformation soit faite et cela dépend aussi de la plateforme utilisée, si ça marche dites le moi car je veux moi même essayer cette procédure.