cesarIST
Messages postés1Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention25 janvier 2008
-
25 janv. 2008 à 13:26
Gwendal3
Messages postés60Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention15 août 2011
-
26 févr. 2008 à 22:02
Bonjour à tous,
Je me suis mis au VB .Net (Visual Studio 2005), et j'ai une question qui peut être est bête... Si qqn peut m'aider se serait super cool
Je vous expose mon problème :
Imaginons une base de données ACCESS, avec une table SOCIETES et une table EMPLOYES.
Une relation existe entre ces deux tables et à une société peut correspondre n employés (normal).
Je voudrais arriver à afficher le résultat de cette relation dans une datagridview.
Les sociétés, sous forme de combobox, ce qui donnerait une datagridview du genre
Société Nom Prénom
Cb Txt Txt
Et Bien sûr, possibilité de saisie d'une nouvelle ligne avec intégration direct dans la BD (ce qui signifie combobox editable pour la société)
J'ai cherché sur MSDN. Je sais faire une datagrid reliée avec une table avec INSERT et UPDATE automatique mais dès qu'il ya des tables liées c'est plus dur...
Gwendal3
Messages postés60Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention15 août 2011 26 févr. 2008 à 22:02
re,
Je bossais sur mon projet lorsque je me suis rendu compte que j'avais fait ce que tu demandes
Les premières lignes correspondent à des classes qui me servent à charger les données. C'est le reste qui t'intéresse.
Bon courage
Gwendal
<hr size="2" width="100%" />Private Sub ParamdgvPermis(Optional ByVal strWhere As String = Nothing)
' Charger les tables dans le DataSet
' > Charger la table Tbl_PermisChauffeur
clPermisChauffeur.ChargerTs(objDataSet, ClassePermisChauffeur.lstChargerSchemas.AvecSchemas, strWhere & "ORDER BY Tbl_PermisChauffeur.NPermis ASC")
' > Charger la table Tbl_TypePermis
clTypePermis.ChargerTs(objDataSet, ClasseTypePermis.lstChargerSchemas.SansSchemas)
' > Charger le DataGridView avec le Dataset
Me.dgvPermis.AutoGenerateColumns = False
Me.dgvPermis.DataSource = objDataSet.Tables("TblPermisChauffeur")
' >> Colonne ID_TblPermisChauffeur
Dim dgvIDTblPermisChauffeur As New DataGridViewTextBoxColumn
Dim iIDTblPermisChauffeur As Integer
iIDTblPermisChauffeur = Me.dgvPermis.Columns.Add(dgvIDTblPermisChauffeur)
Me.dgvPermis.Columns(iIDTblPermisChauffeur).DataPropertyName = "ID_PermisChauffeur"
Me.dgvPermis.Columns(iIDTblPermisChauffeur).Name = "ID_PermisChauffeur"
Me.dgvPermis.Columns(iIDTblPermisChauffeur).Visible = False
' >> Colonne Type de Permis >>>>>>>>> COLONNE QUI T'INTERESSE <<<<<<<<<<<<<
Dim dgvTypePermis As New DataGridViewComboBoxColumn()
dgvTypePermis.DataSource = objDataSet.Tables("TblTypePermis")
dgvTypePermis.DataPropertyName = "TypePermis"
dgvTypePermis.DisplayMember = "TypePermis"
dgvTypePermis.ValueMember = "ID_TypePermis"
dgvTypePermis.Name = "Type de Permis"
Dim iTypePermis As Integer
iTypePermis = Me.dgvPermis.Columns.Add(dgvTypePermis)
Me.dgvPermis.Columns(iTypePermis).DataPropertyName = "ID_TblTypePermis"
Me.dgvPermis.Columns(iTypePermis).Name = "Type de Permis"
Me.dgvPermis.Columns(iTypePermis).Width = 140
' >> Colonne Date d'obtention
Dim dgvDateObtention As New CalendarColumn
Dim iDateObtention As Integer
iDateObtention = Me.dgvPermis.Columns.Add(dgvDateObtention)
Me.dgvPermis.Columns(iDateObtention).DataPropertyName = "Date d'obtention"
Me.dgvPermis.Columns(iDateObtention).Name = "Date d'Obtention"
Me.dgvPermis.Columns(iDateObtention).Width = 140
Me.dgvPermis.Columns(iDateObtention).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
' >> Colonne N° de Permis
Dim dgvNPermis As New DataGridViewTextBoxColumn
Dim iNPermis As Integer
iNPermis = Me.dgvPermis.Columns.Add(dgvNPermis)
Me.dgvPermis.Columns(iNPermis).DataPropertyName = "N° de Permis"
Me.dgvPermis.Columns(iNPermis).Name = "N° de Permis"
Me.dgvPermis.Columns(iNPermis).Width = 140
' >> Colonne ID_TblRepChauffeur, liaison avec une table répertoire
Dim dgvIDTblRepChauffeur As New DataGridViewTextBoxColumn
Dim iIDTblRepChauffeur As Integer
iIDTblRepChauffeur = Me.dgvPermis.Columns.Add(dgvIDTblRepChauffeur)
Me.dgvPermis.Columns(iIDTblRepChauffeur).DataPropertyName = "ID_TblRepChauffeur"
Me.dgvPermis.Columns(iIDTblRepChauffeur).Name = "ID_TblRepChauffeur"
Me.dgvPermis.Columns(iIDTblRepChauffeur).Visible = False