2009-03-04 6 views
0

J'ai deux DataGridView liés à un DataSource sous-jacent via BindingSources et TableAdapaters.BindingSource et DataGridView

J'ai deux modèles; cordes et tables. Tables -> [id, handle, description] Chaînes -> [id, handle, id_table]

Il existe donc plusieurs entrées-une entre tables et chaînes.

Quelle est la meilleure façon de faire la sélection des "tables" DataGridView pour filtrer le contenu des "chaînes" DataGridView? Je comprends que la source de données des "chaînes" DataGridView peut être définie à la source de liaison des "tables" DataGridView mais cela ne prend pas en charge la sélection multiple.

Pour l'instant, lorsque la sélection sur les tables "DataGridView" est modifiée, j'écrit sur les lignes sélectionnées et construit un filtre basé sur une chaîne pour les "chaînes" DataGridView mais je trouve cela lent et désordonné.

Quelqu'un sait-il mieux?

Répondre

1

Vous pourriez avoir un autre problème avec le code qui le rend lent. À propos d'être désordonné, je déplace généralement le code qui me permet de saisir facilement des listes d'éléments pour les méthodes d'extension sur le DataGridView. Intégré/simple est pour la sélection unique.

0

Vous pouvez simplement utiliser deux BindingSources différentes pour chacune des tables. Ou vous pouvez remplir la première table avec juste les données, sans utiliser de BindingSource du tout. Ensuite, vous pouvez réagir sur l'événement SelectionChanged de DataGridView pour définir le filtre sur le BindingSource sur la table 2.

Il y a plusieurs façons: êtes-vous capable de trouver de nouvelles façons de vous-même?