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 :

GridView et "switch()"


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 33
    Par défaut GridView et "switch()"
    Bonjour à tous,

    dans un gridview j'ai une colonne qui reprendre une donnée numérique.
    Comment puis-je convertir cette donnée en string comme si j'utilisais un switch ?
    Càd que si la valeur vaut 0, je retourne "A", 1 = "B" et ainsi de suite

    Le gridview est alimenté via un SQLDataSource


    Code actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WUC_LstCourse.ascx.cs" Inherits="wRacingTeam.WUC_LstCourse" %>
    <br />
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" 
        CellPadding="3" DataSourceID="SqlDataSource1">
        <Columns>
            <asp:BoundField DataField="CoNom" HeaderText="Nom" SortExpression="CoNom" />
            <asp:BoundField DataField="CoCommentaire" HeaderText="Info" 
                SortExpression="CoCommentaire" />
            <asp:TemplateField HeaderText="Type" SortExpression="CoType">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("CoType") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("CoType") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="CoDate" DataFormatString="{0:dd/MM/yyyy}" 
                HeaderText="Date" SortExpression="CoDate" />
            <asp:BoundField DataField="CoHeureDebut" DataFormatString="{0:t}" 
                HeaderText="Début à" SortExpression="CoHeureDebut" />
            <asp:BoundField DataField="CoHeureFin" HeaderText="Fin à" 
                SortExpression="CoHeureFin" />
            <asp:BoundField DataField="EvNom" HeaderText="Evénement" 
                SortExpression="EvNom" />
        </Columns>
        <FooterStyle BackColor="White" ForeColor="#000066" />
        <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
        <RowStyle ForeColor="#000066" />
        <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
        <SortedAscendingCellStyle BackColor="#F1F1F1" />
        <SortedAscendingHeaderStyle BackColor="#007DBB" />
        <SortedDescendingCellStyle BackColor="#CAC9C9" />
        <SortedDescendingHeaderStyle BackColor="#00547E" />
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:csSQL %>" 
        SelectCommand="SELECT Course.CoNom, Course.CoCommentaire, Course.CoType, Course.CoHeureDebut, Course.CoDate, Course.CoHeureFin, Course.CoCodeEv, Evenement.EvNom FROM Course INNER JOIN Evenement ON Course.CoCodeEv = Evenement.EvCode">
    </asp:SqlDataSource>

    Merci bcp

  2. #2
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Bonsoir,
    Dans l’événement OnRowDataBound du gridview, tu peux anticiper et ensuite changer la valeur des éléments d'une ligne avant de l'afficher sur la page.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void gvTest_RowDataBound(object sender, GridViewRowEventArgs e)
    {
       if (e.Row.RowType == DataControlRowType.DataRow)
       {
             //recupere la ligne courante
             GridViewRow row = e.Row;
             if(row.Cells[3].Text.eqaul("0"))
             {
                 row.Cells[3].Text="A";
             }
        }
    }
    Ce problème se répète souvent sur notre forum alors bonne recherche

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 33
    Par défaut
    Bonjour,

    merci pour la réponse.
    Méconnaissance globale du gridview en ce qui me concerne

    Citation Envoyé par Ramajb Voir le message
    Ce problème se répète souvent sur notre forum alors bonne recherche
    Ben pas trouvé, sinon pas posé... surement que je n'utilise pas les mêmes mots clefs que les autres ....

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

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