Comment lier un CheckBoxField dans mon GridView à un champ db sous-jacent qui est une chaîne. La chaîne est "1" ou "0" mais tout de même le GridView ne se liera pas volontiers à elle. Que fais-je. Quel est le meilleur moyen d'avoir une case à cocher dans GridView et de l'avoir et de définir la chaîne dans la base de données (ou la source de données sous-jacente).CheckBoxField dans GridView ne liera pas à un champ de chaîne dans la base de données
1
A
Répondre
1
CheckBoxField se lie à un booléen. Vous pouvez convertir la chaîne en une valeur booléenne dans l'expression de liaison ou la convertir dans la déclaration db.
Il serait plus logique pour la base de données de stocker l'état de la case à cocher en tant que bit plutôt qu'en tant que chaîne. Alors ce problème disparaîtrait complètement.
Bien sûr, si vous avez besoin de stocker le troisième état «grisé», cela complique légèrement les choses, mais vous pouvez toujours stocker l'état en tant qu'int.
6
Cela devrait fonctionner:
Checked='<%# DataBinder.Eval(Container.DataItem, "MyStringField") = "1" %>'
Normalement, une valeur de case à cocher serait mis en correspondance avec une valeur de bit dans votre base de données afin que vous obtiendriez pas ce problème.
1
Je travaillais dans VB et j'ai essayé quelque chose comme ça
<asp:checkbox runat="server" id="chkCastCool" enabled="false"
checked='<%CType(DataBinder.Eval(Container.DataItem,"Cast_Cool").ToString().Replace("Y","True").Replace("N","False"),Boolean)%>'/>
Questions connexes
- 1. asp: CheckBoxField dans GridView - VS 2008
- 2. Pourquoi Django ne renvoie-t-il pas un champ datetime de la base de données?
- 3. Appel d'un champ de la base de données dans MySQL
- 4. Application de la mise en forme de la base de données Access à un GridView
- 5. GridView ne signale pas d'exception
- 6. Comment rechercher une chaîne dans toute la base de données?
- 7. NaN Valeurs dans un champ flottant dans la base de données MSSQL
- 8. Clé primaire de la base de données -> Un champ d'identité ET un champ de nom?
- 9. Case à cocher dans TemplateField dans Gridview perd la vérification lors de la publication
- 10. Comment lier un champ de base de données à un élément HTML TITLE dans ASP.NET 2.0?
- 11. Nombre à chaîne dans un champ de formule
- 12. Comment enregistrer une chaîne cryptée dans la base de données?
- 13. base de données dans App_Data pas de données persistant
- 14. Les champs de formulaire JQuery + ne sont pas correctement insérés dans la base de données
- 15. Accès à la base de données Sharepoint dans un domaine
- 16. NHibernate n'insérant pas de parent dans la base de données
- 17. hyberlink dans gridview ne change pas la couleur
- 18. Extraction d'informations de base de données à partir de gridviews qui n'apparaissent pas dans la grille
- 19. ne pouvait pas la base de données ouverte
- 20. L'ID dynamique ne fonctionne pas dans un GridView. Est-il possible d'empêcher les ID en double dans un gridview?
- 21. Comment renvoyer la valeur dans un champ en fonction de la valeur de recherche dans un autre champ
- 22. MySQL INSERT données ne sont pas stockées dans la bonne base de données, seulement temporaire?
- 23. DataFormatString dans mon Gridview ne fonctionne pas dans SharePoint
- 24. Comment couper la chaîne datetime à sa minute dans GridView?
- 25. MySQL - Comment créer un champ d'incrémentation automatique dans la base de données?
- 26. GridLines ne s'affiche pas dans un GridView avec CSS reset?
- 27. Le tri dans gridview ne fonctionne pas
- 28. Obtenez la valeur d'un champ de modèle tel qu'il est dans la base de données
- 29. comment définir les données de la requête sql dans le champ du modèle gridview
- 30. Python/PyQT QString ne va pas insérer dans la base de données MySQL
Presque; Tu me as sur la bonne voie: '/> EditItemTemplate> –
minty
Vous ne devriez pas avoir besoin du convertisseur interne, n'est-ce pas? Également vous pourriez faire: Checked = '"1" == DataBinder.Eval (Container.DataItem, "MyStringField")' pour le même effet :) –
(ajoutant le bon <%# %> que j'ai raté, bien sûr :) –