comment ajouter dynamiquement des combobox dans les windows forms(C#) et lié à une colonne d'une table dans la base de données sql
Mon formulaire windows dispose d'un bouton AJOUTER qui ajoute une liste déroulante pour la forme après chaque clic. Le problème est, je ne suis pas en mesure de le lier à une colonne de table au moment de l'exécution. Via une liaison de données source sélectionne la même valeur dans toutes les zones de liste déroulante. Je suis de codage en C#
voici un exemple de code :
ComboBox ocbNext = new ComboBox();
//HAVE set the rest of the properties right, the problem is with the databinding
ocbNext.DataSource = this.dummysubjectBindingSource;
ocbNext.DisplayMember = "sub_name";
ocbNext.ValueMember = "sub_name";
this.Controls.Add(ocbNext);
- avez-vous un exemple de code.
- Ressemble vous avez déjà obtenu la première partie de la réponse à la question. Pour la deuxième partie, il devrait être assez facile à mettre en œuvre. Voyons voir ce que vous avez obtenu jusqu'à présent...
- hey tzup le problème est avec ocbNext.DataSource = ce.dummysubjectBindingSource; c'est la même databindingsource que j'ai ajouté pour la statiquement présenter de zone de liste modifiable, lorsque j'utilise la même liaison de données source pour la dynamique ajouté cmbo boîte, que le problème commence. les données initiales bindingsource a été ajouté via l'assistant...je dnt knw comment ajouter dynamiquement d'un
Vous devez vous connecter pour publier un commentaire.
J'ai ajouté un DataSet de la solution et larguaient les Employés table (à partir de Comptoirs) dans le concepteur, qui a automatiquement créé le employeesBindingSource. J'ai laissé tomber une zone de liste déroulante et un bouton sur le Formulaire et j'ai mis le source de données et DataMember de la liste déroulante. Puis j'ai manipulé certains événements:
Sur chaque clic, un nouveau combo est ajouté dans le formulaire dynamiquement droit en vertu de la précédente zone de liste déroulante. Le combo est également lié à la colonne suivante de la table Employés (pas de limite vérifie cependant).
Comme vous pouvez le voir, c'est assez facile de trucs. Espérons que cette aide.
Bon, alors ici est une variante du code qui peut vous aider avec cette autre question que vous avez demandé dans les commentaires de cette réponse.
Cela suppose que vous ayez un Forme avec un bouton et un DataSet avec table Employés. Sur clic du bouton, il crée une liste déroulante, et le remplit avec les données (le Nom colonne de Employés). Chaque fois que vous ajoutez une zone de liste déroulante, il obtient sa propre copie des données (c'est important pour être en mesure de supprimer des éléments à partir d'un combo à la fois). Ensuite, chaque fois que vous sélectionnez une valeur dans la liste déroulante, le combo est désactivé et les autres combos n'ont pas cette valeur sélectionnée dans la liste.
C'est assez proche de ce que vous avez besoin, ou facilement adaptable pour répondre à vos attentes. Profiter de et veuillez sélectionner une réponse dans le reconnus. Merci!
Option 1: Remplissez la zone de liste déroulante avec des cordes:
Option 2: Remplir la zone de liste déroulante avec un tableau de chaînes de caractères:
Devrait être bon si vous créez un nouveau local zone de liste déroulante de la variable dans le clickevent. Si vous utilisez une variable globale pour la zone de liste déroulante, ce qui pourrait expliquer vos problèmes. Mais sans un exemple de la façon dont vous êtes en train de faire c'est dur de voir ce qui se passe vraiment, si pense que c'est juste une vague supposition