Même source de données mais 2 tris différents pour 2 affichages

Messages postés
78
Date d'inscription
samedi 26 août 2006
Statut
Membre
Dernière intervention
25 novembre 2016
-
Bonjour,

J'ai une base de données de contacts chargé dans un BindingSource (Le DataSource de cet objet est un DataTable)

J'ai un DataGridView où apparaît les donnés trié par Prénom
Mais j'ai aussi un Combobox où doivent apparaître le Nom des contacts MAIS trié ici par Nom et non par Prénom.

L'objectif est que si je sélectionne mon contact d'un coté, il faut que de l'autre coté le même contact soit sélectionné.

Dim Binding As New BindingSource
Binding.DataSource = MonDataTable
Binding.Sort = "Prénom"
DGV.DataSource = Binding
CB.DataSource = Binding


L'ennuis est qu'il n'existe qu'un seul tri en commun pour ces 2 objets qui est celui du Binding.

Je veux juste savoir si un simple paramètre existe où si je dois développer quelque chose par moi même pour résoudre mon soucis.

D'avance merci.

EDIT: Ajout de la coloration syntaxique.

[ DOVAX]
Afficher la suite 

2 réponses

Messages postés
13836
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 octobre 2019
311
0
Merci
Bonsoir, un truc me chiffonne dans ton code (auquel j'ai rajouté de la couleur!), il n'y a normalement pas de constructeur sans arguments pour Binding.

Commenter la réponse de Whismeril
Messages postés
78
Date d'inscription
samedi 26 août 2006
Statut
Membre
Dernière intervention
25 novembre 2016
0
Merci
Merci pour ta réponse Whismeril,

Je viens de vérifier à nouveau mais si, il existe bien un constructeur sans argument pour le BindingSource.

- BindingSource()
Initialise une nouvelle instance de la classe BindingSource aux valeurs par défaut des propriétés.
- BindingSource(IContainer)
Initialise une nouvelle instance de la classe BindingSource et ajoute BindingSource au conteneur spécifié.
- BindingSource(Object, String)
Initialise une nouvelle instance de la classe BindingSource avec la source de données et la donnée membre spécifiées.

source : https://msdn.microsoft.com/fr-fr/library/system.windows.forms.bindingsource(v=vs.110).aspx

Le nom de ma variable t'a peut-être induit en erreur, désolé.

Je réécris le code initial :
Dim BS As New BindingSource
BS.DataSource = MonDataTable
BS.Sort = "Prénom"
DGV.DataSource = BS
BS.Sort = "Nom"
CB.DataSource = BS
'En retriant sur les Nom pour le ComboBox,
' le DataGridView s'est lui aussi retrié ce que je ne veut pas !


Edit: Précision du langage dans la coloration syntaxique.


[ DOVAX]
Whismeril
Messages postés
13836
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 octobre 2019
311 -
Autant pour moi, j'ai tapé trop vite en faisant mon test.
Je n'ai pas trouvé de solution, juste un contournement. Tu fais deux bindingsource, et dans l'évenement CurrentItemChanged de l'un tu le dit à l'autre. C'est pas top.
benji2000
Messages postés
78
Date d'inscription
samedi 26 août 2006
Statut
Membre
Dernière intervention
25 novembre 2016
-
C'est bien ce qu'il me semblait, mais je me disait çà c'est de la bidouille et il y a surement une fonction toute faites, dommage que Microsoft n'ai pas pensé à ce système qui me parait pourtant courant !

Merci en tout cas pour ton aide =]
Commenter la réponse de benji2000