Quelle est la meilleure façon de trier les données de zone de liste déroulante?
J'ai fait un peu de recherche sur cette question et il semble que la seule façon de trier les données liées zone de liste déroulante trier la source de données elle-même (un DataTable dans une base de données (dans ce cas).
Si c'est le cas, alors la question devient alors de quelle est la meilleure façon de régler un DataTable?
La liste déroulante de la boîte de liaisons sont définies dans le concepteur initialiser à l'aide de
myCombo.DataSource = this.typedDataSet;
myCombo.DataMember = "Table1";
myCombo.DisplayMember = "ColumnB";
myCombo.ValueMember = "ColumnA";
J'ai essayé de réglage
this.typedDataSet.Table1.DefaultView.Sort = "ColumnB DESC";
Mais cela ne fait aucune différence, j'ai essayé de mettre ce paramètre dans le constructeur du contrôle, avant et après un typedDataSet.Fusion d'appel.
OriginalL'auteur John Hunter | 2008-08-27
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez une Table de données, vous pouvez utiliser le (DataTable.DefaultView) DataView.Tri de la propriété. Pour plus de flexibilité, vous pouvez utiliser le BindingSource composant. BindingSource sera la source de données de votre zone de liste déroulante. Ensuite, vous pouvez changer votre source de données à partir d'un DataTable à la Liste sans changer la source de données de la zone de liste déroulante.
OriginalL'auteur jfs
Vous pouvez réellement le vue par défaut sur un DataTable:
Qui va trier les lignes vous récupérer directement à partir de la DataTable.
OriginalL'auteur Matt Hamilton
Assurez-vous de lier la DefaultView pour les Contrôles de source de données, après avoir défini la propriété de Tri, et pas sur la table:
OriginalL'auteur Andy Rose
Josh Smith a un post de blog que les réponses à cette question, tout cela est fait dans le code XAML.
OriginalL'auteur David Veeneman
Les données doivent être dans un DataTable?
À l'aide d'un SortedList et de leur liaison à une zone de liste modifiable serait un moyen plus simple.
Si vous avez besoin d'utiliser une Table de données, vous pouvez utiliser la méthode Select pour récupérer un DataView et passer dans une sorte de paramètre.
OriginalL'auteur Andy Rose
La façon la plus simple pour trier une liste déroulante est d'utiliser le Zone de liste déroulante.Triés de la propriété. Toutefois, cela ne fonctionnera pas si vous utilisez la liaison de données. Dans ce cas, vous aurez à trier à la source de données elle-même.
Vous pouvez utiliser un SortedList ou SortedDictionary (à la fois de tri par la Clé), ou un DataView.
Le DataView a un Tri propriété qui accepte une expression de tri (string) par exemple:
Dans l'exemple ci-dessus à la fois de l'État et code Postal sont des colonnes dans la Table de données utilisées pour créer le DataView.
OriginalL'auteur urini
Je me rends compte que vous avez déjà choisi votre réponse à cette question, mais j'aurais suggéré de placer un DataView sur votre formulaire, de le lier à votre DataSet/DataTable, et le réglage de la sorte sur le point de Vue du concepteur. Vous puis lier votre zone de liste déroulante pour le DataView, plutôt que le DataSet/DataTable.
OriginalL'auteur Adam Robinson