Un DataGridView de SteelTypes em> a une colonne qui a été liée à un DataView ( SteelThicknesses em>). Je peux sélectionner les données et la définir correctement. Cependant, je ne peux pas charger les mêmes informations. Mon DataGridView ComboBoxCell contient la valeur et le texte formaté modifié, mais je ne peux pas définir les informations d'affichage des membres. P>
J'ai toutes mes colonnes de Textbox charger correctement, à l'exception de la colonne ComboBox. La variable de J'essaie d'afficher une "3" dans la colonne Épaiseur (épaisseur) via la réglage de sa valeur à une clé primaire (pk_steelthicknité): p>
Voir les résultats ci-dessous. Tout sauf que mon ComboBoxCell est peuplé:
Appréciez l'aide à l'avance, cela m'a été fou :) p> Problème actuel h2>
p>
3 Réponses :
Vous ne définissez pas le texte. Vous définissez l'identifiant sous-jacent. L'idée est que vous liez la colonne à une table parent et vous liez la grille à une table enfant qui a une clé étrangère à la table des parents. Vous définissez la valeur de la clé étrangère dans la cellule de la grille et la valeur de texte correspondante de la table des parents est affichée.
Par exemple, disons que vous avez une table code> p > et vous avez une personne dans votre grille, vous créeriez un Voir ceci pour Plus d'informations: p> personne code> comme: p>
DataGridViewCombobOncolumn Code> et définissez son
DataProperTyname CODE> propriété sur "HéresseurId". Lorsque vous avez ensuite lié votre code> la table code> de la grille, la colonne
HERPHERNESIDSID CODE> se lierait à la colonne BOXE BOXE. Vous lieriez votre table code> de votre code> sur la colonne et définissez le
displaymember code> et
Valeur code> sur "Nom" et "ID" respectivement. La grille afficherait alors "à gauche", "droite" et "ambidextrous" pour "Peter", "Paul" et "Marie" respectivement. Si vous vouliez fabriquer Peter AmbidexThous, vous définiriez la valeur
autoritéd code> la valeur
sur code> à 3, puis il afficherait "Ambidextrous". P>
Merci pour la réponse. J'avais déjà regardé votre réponse sur VBForums aussi. En fait, j'ai le membre d'affichage et le membre de valeur défini sur DataGridViewCombobOncell. Il a la valeur appropriée qui a été fixée à l'encembre à l'ID correct que j'ai spécifié. Cependant, cela n'affiche pas l'élément d'affichage. Pourtant, dans l'éditateformatvalue, je peux voir que cela montre les bonnes informations à afficher, mais elle n'apparaît pas à l'écran.
On dirait que vous faites beaucoup de travail pour vous-même ici. DataGridCombObox peut être utilisé pour décoder une valeur simplement en ayant son p>
"épaisse", 1 code> "moyen", 2 code> "mince", 3 code>, li>
- Displaymember défini sur une chaîne de nom de colonne à partir de la table de recherche contenant le texte à afficher, par exemple "DISS", LI>
- Valeur définie sur le nom de la colonne de chaîne de la recherche qui a la valeur qui concerne le texte à afficher, par exemple "Val" et Li>
- DataProperTyName défini sur le nom de la propriété (colonne) de l'autre table qui a la valeur à décoder (une des valeurs de la colonne VAL de la table de recherche) (par exemple, une table de produits avec une colonne SteerChickemseid) . li>
ul>
Le DataGridView est lié aux produits DataTable, le combo trouvera par exemple. 3 Dans la colonne STEELTHICKERIDIDIDD, il ressemblera à 3 dans la colonne VAL de la table SteelThicknesses et affichera le texte qu'il trouve dans la colonne DISC de cette ligne à partir de SteelThickesses.Si l'utilisateur modifie la valeur affichée en supprimant la liste déroulante et en sélectionnant l'épaisseur. , il fonctionnera à l'inverse et prendra 1 à partir de la colonne VAL et mettra à jour la table des produits avec la nouvelle valeur 1 pour SteelThicknessID. Si vous ne le souhaitez pas, faites la colonne ou la DataGridView en lecture seule p>
Pour une discussion plus impliquée, voir ma réponse à DataGridView Chargement de Linq a> p>
Ceci est un comportement étrange, mais j'ai trouvé que modifier mes appels de méthode de chargement du nouveau () à la charge de formulaire () a fait fonctionner ...
J'ai donc changé mon code initial de ceci: p> à ceci: p> Ceci est le seul code modifié et fonctionnant maintenant. P> P>