IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[VB.NET] Cast d'une tablecell


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut [VB.NET] Cast d'une tablecell
    Bonjour,
    j ai transformé une cellule d'une table en un control afin de pouvoir localiser le TD et utiliser le backcolor. La cellule est la cellule d'une table contenu dans un datalist.

    FRONT CODE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <td width="10%" runat=server ID="TDstatus">
    <asp:Label ID="lblStatus" Text='<%# DataBinder.Eval(Container.DataItem, "sStatus") %>' Runat=server>
    </asp:Label></td>
    BEHIND CODE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim status as string = CType(e.Item.FindControl("lblStatus"), Label).Text
     
    If status = "Not started" Then
    CType(e.Item.FindControl("TDstatus"), TableCell).BackColor = System.Drawing.Color.FromArgb(255, 51, 0)
    End If
    J'ai une erreur de cast, quelqu'un peut il m'aider ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.InvalidCastException: Le cast spécifié n'est pas valide.

  2. #2
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut Re: [ASPX][VB.NET] Cast d'une tablecell
    Citation Envoyé par Pari
    Bonjour,
    j ai transformé une cellule d'une table en un control afin de pouvoir localiser le TD et utiliser le backcolor. La cellule est la cellule d'une table contenu dans un datalist.
    Hein ???

    Je ne m'attarderai pas sur "l'erreur" que constitue l'utilisation de BackColor, j'aimerais juste que tu m'expliques plus clairement l'utilité de tout ces CAST et ce que tu veux faire exactement...
    J'ai comme une idée que tu te compliques pas mal la vie.
    In my experience, any attempt to make any system idiot proof will only challenge God to make a better idiot.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    Salut,

    En fait, j ai une datalist ou je dispositionne les données dans des cellules.
    Il y a une cellule particuliere ou je fais un test sur son contenu.
    Si il s agit de la valeur que je souhaite, je veux que le background de cette cellule soit coloré.

    Voila

  4. #4
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Citation Envoyé par Pari
    Salut,

    En fait, j ai une datalist ou je dispositionne les données dans des cellules.
    Il y a une cellule particuliere ou je fais un test sur son contenu.
    Si il s agit de la valeur que je souhaite, je veux que le background de cette cellule soit coloré.

    Voila
    Ben pour tester son contenu, tu as une propriété innerText, et puis pour la colorer, je te suggère de lui changer sa CssClass plutôt que d'utiliser BackGround...
    In my experience, any attempt to make any system idiot proof will only challenge God to make a better idiot.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    Le problème, c est que je n' arrive pas à accéder a mon td directement (il est dans le datalist).

    C'est pour cela que je le "transforme" en control avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td width="10%" runat=server ID="TDstatus">
    et que j'arrive a y avoir accès avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    e.Item.FindControl("TDstatus")
    Ensuite, il est considéré comme un control générique. Voila pourquoi j'essaie de le caster en tablecell afin d'avoir les propriété de backcolor ou même cssclass...

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    Bon, j'ai trouvé une alternative.
    Dans le même style, au lieu de m'attaquer au cast du TD, j'utilise le label.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CType(e.Item.FindControl("lblstatus"), Label).BackColor = System.Drawing.Color.FromArgb(255, 51, 0)
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CType(e.Item.FindControl("TDstatus"), TableCell).BackColor = System.Drawing.Color.FromArgb(255, 51, 0)
    (J comprends pas pourquoi ca ne marche pas).


    Pour que ca fasse le style comme si c'etait la couleur du background du TD, il faut bien sur mettre le width du label a 100%.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <asp:Label ID="lblStatus" Width=100% Text='<%# DataBinder.Eval(Container.DataItem, "sStatus") %>' Runat=server>

  7. #7
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Beuuurk

    Enlève-moi donc ces BackGround et Width qui vont générer des balises non conformes !

    Utilise CssClass...
    In my experience, any attempt to make any system idiot proof will only challenge God to make a better idiot.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET]Comment Imprimer une form
    Par bernard06 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/10/2011, 17h43
  2. [VB.NET] Accès à une colonne d'un DataGrid
    Par fabthebreton dans le forum ASP.NET
    Réponses: 3
    Dernier message: 08/06/2004, 12h47
  3. [C#] [.NET] Lecture d'une classe dans un fichier
    Par niPrM dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/05/2004, 08h57
  4. Réponses: 13
    Dernier message: 16/04/2004, 12h00
  5. [VB.Net] Comment generer une page html dynamiquement ?
    Par Anonymous dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/03/2003, 10h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo