2009-07-09 2 views
3

J'essaie de lier une table SQL à des boutons radio dans une application Windows Forms.Simple façon de lier des radiobuttons à la table SQL en C#

Les boutons sont regroupés par zones de groupe. Je n'ai pas encore trouvé un moyen de les lier correctement à la source de données. Je sais que certains ont réussi à le faire en créant un contrôle personnalisé, mais existe-t-il un moyen plus simple?

+0

Qu'essayez-vous de lier aux radiobuttons? Plusieurs colonnes booléennes dans la table par zone de groupe? –

+0

Quelle technologie d'accès à la base de données souhaitez-vous utiliser? ADO.NET? LINQ à SQL? Cadre d'entité? –

+0

Les valeurs des boutons sont-elles liées à une énumération ou à une colonne de votre tableau ou les réponses sont-elles prises en charge dans une série de colonnes? –

Répondre

6

Modifier: C'est probablement une façon plus simple de le faire (non testé, mais devrait fonctionner).

Vous devez réellement lier directement (en utilisant un Binding) aux boutons radio, mais gérer les événements Binding.Parse et Binding.Format.

Dans l'événement 'Format', définissez les propriétés vérifiées et dans l'événement Parse, vous sauvegardez la valeur en fonction de celle qui est vérifiée.


Idée originale: Sans créer un contrôle personnalisé ou subclassing, le plus simple est probablement de ne pas lier directement, mais pour charger et enregistrer les valeurs vous-même d'intermédiaire.

Une façon est:

  • Abonnez-vous à l'événement BindingSource.CurrentItemChanged et définir les propriétés RadioButton Checked en conséquence.

  • Abonnez-vous aux événements RadioButton.CheckedChanged et définissez la source de données sous-jacente de manière appropriée.

+1

C'est une bien meilleure solution que la mienne! Vous devez vous rappeler le nom de ces événements bien sûr, mais c'est élégant +1 – tekBlues

+0

Ça sonne bien. Merci! - Je donnerais +1 mais je n'ai pas encore d'identifiants;) –

+0

Sonne encore mieux! Merci beaucoup. –

3

Je l'ai utilisé un sale tour:

Créer une zone de texte caché. Liez-le à la source de données et laissez les boutons radio non liés. Ensuite, programmez l'événement de changement de zone de texte pour définir la valeur des boutons radio et le bouton radio cliquez sur les événements pour définir la valeur du bot texte.

Sale, mais cela fonctionne.

+0

WTF!?! : D –

+0

Très intelligent! :) –

+0

C'est très bien ... –

Questions connexes