2010-07-30 4 views
0

Je travaille en C# avec Visual Studio 2008.aucune sélection par défaut dans un .net comboBox

Je suis en train de créer un comboBox pour un formulaire de recherche simple dans une application Windows. Ce que je veux faire est d'avoir un comboBox avec quelques options d'une table dans ma base de données donc je lui ai lié une table et sélectionné les colonnes à afficher. Ce que je veux faire est d'ajouter une valeur vide par défaut (pour représenter l'une des options) lorsque le formulaire est chargé. De cette façon, la comboBox agirait comme un moyen d'affiner la recherche un peu.

Y at-il un moyen de le faire? J'ai essayé de plusieurs façons (y compris l'ajout du code à la main) mais il lance des exceptions à cause de la liaison de données.

Y at-il une propriété qui pourrait me permettre de faire cela?

Merci!

Répondre

3

Je ne suis pas sûr si je comprends complètement, donc quelques possibilités.

Le réglage SelectedIndex à -1 résoudrait-il votre problème?

Sinon, comment le lier à la base de données? solutions exemple en fonction de la façon dont vous liez:

  1. Si vous récupérez un DataTable et la liaison à cette table, il suffit d'ajouter une ligne vide en haut de la table.
  2. Si vous ne pouvez pas faire 1, si vous utilisez une instruction SQL pour récupérer les données, vous pouvez peut-être ajouter un bit à l'instruction SQL pour renvoyer une ligne vide.
+0

Merci pour la réponse rapide. Je suis lié comme dans 1. Je voudrais éviter d'ajouter la rangée vide à la base de données et espérais que je pourrais le faire avec le code. –

+0

@Juan: Vous avez mal compris ce que je voulais dire. Quand j'ai dit 'DataTable' je voulais dire une instance de la classe DataTable (comme montré ici http://msdn.microsoft.com/en-us/library/system.data.datatable.aspx). De cette façon, vous pouvez ajouter l'enregistrement uniquement à l'instance .Net de la table et puisque vous n'écrivez pas cette table dans la base de données, cela n'affectera en aucun cas votre base de données. –

+1

Voir la première réponse dans cette liste de discussion pour un exemple montrant ce que je veux dire: http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/4d4462ba-f4d7-4f1d-8747-8fe63272a7f4 –