Bonjour tout le monde.
J'ai un GridView qui expose des données essentiellement booléennes. cela me fait une suite de case que je colorie en rouge ou en verte en fonction de 0 ou 1 qui se trouve dans la case. ça, ça va bien, ça amrche bien.
Le principe de ceGridView et de faire une sorte de WorkFlow limité. Il s'agit d'une commande qui dispose de plusieurs étapes :
- commande par le client
- paiement
- préparation de la comamnde
- livraison
- validation de la livraison
Un classique du genre, je pense. En début de ligne je reprend le nom du client et le numéro de la comamnde avec un lein, bref rien de bien magistral et ça marche.
Maintenant on arrive en fin de ligne où je veux placer un bouton (ButtonField) en l'occurence) et je voudrais lui coller une Text et un Comamnde en fonction du statut de 0 ou de 1 de certains champs
Par exemple si la commande est en statut "Paiement" à 1 (donc payée) le bouton apparait avec "Prépararer la commande" et le CommandeName va déclencher une inscription en base de donnée pour envoyer un message aux préparteurs de commande pour leur donnée le feu vert pour leur boulot.
Une fois al commande préparée, les préparateurs ont leur outils pour l'indiquer et là je voudrais qu'il n'y est plus de bouton parce que le statut apsse à "livraison" et il n'y a rien à faire, sauf attendre la validation du livreur. Et là le lcient appelera pour signaler la bonne livraison et donc le bouton devra réapparaitre avec un autre Text et une CommandeName
Voilà, un longue exposé, mais je voualis préciser le périmetre pour être sûr d'aller dans la bonne direction. Donc tout fonction sur les couleurs et l'affichage des données. Je passe par l'évènement RowDataBound pour gérer cela.
Du coup, je me suis dit que jallais passé au même endroit pour gérer mon bouton. Sauf que sur le premier point il me bloc lorsque je veux le récupérer
Trés naturellement je mets ça pour le récupérer :
7 étant l'index de la cellule dans lequel il se trouve.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim btnAction As ButtonField = CType(e.Row.Cells(7).Controls(0), ButtonField)
et il me dit ça :
Ce que je trouve particulièrement bizarre.Une valeur de type 'System.Web.UI.Control' ne peut pas être convertie en 'System.Web.UI.WebControls.ButtonField'
Une fois se point là solutionner je n'aurais plus qu'à prendre chaque cas de donnée (que je gère déjà pour afficher les couleurs) et gérer le Text et CommandeName du bouton à cet endroit.
Pouvez m'aider ?
Partager