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 fichier .resx et Strings avec accents


Sujet :

ASP.NET

  1. #1
    Membre actif Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Points : 222
    Points
    222
    Par défaut Gridview fichier .resx et Strings avec accents
    Bonjour, désolé pour mon titre pas très... clair!

    C'est que j'ai un problème avec les Strings contenants des accents venants de fichier .resx quand je les insères pour mes titres de colonnes d'un gridview!!!

    Bon pas très clair hein??? Je m'explique avec le language que tout le monde connaît ici LE CODE!!!!

    J'ai un girdview:
    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
    <asp:GridView ID="gv_Details" CssClass="BorderStyle" runat="server" AllowSorting="True" 
            DataSourceID="sqlDSDetails" AutoGenerateColumns="False" DataKeyNames="" 
            CellPadding="3" Width="80%" EmptyDataText="<%$ Resources:Lassonde, NoRecord %>">
            <HeaderStyle CssClass="Header10n" />
            <RowStyle CssClass="DataText8n1" />
            <AlternatingRowStyle CssClass="DataText8n2" />
                <Columns>
                    <asp:BoundField ItemStyle-HorizontalAlign="Center" DataField="Ligne" HeaderText="<%$ Resources:CommandesClients, Ligne %>" SortExpression="Ligne" />
                    <asp:HyperLinkField HeaderText="<%$ Resources:Lassonde, Description %>" DataTextField="Description" SortExpression="Description" ItemStyle-HorizontalAlign="Left" NavigateUrl="#"  />
                     <asp:BoundField ItemStyle-HorizontalAlign="Center" DataField="Format" HeaderText="<%$ Resources:Lassonde, Format %>" SortExpression="Format" />
                    <asp:BoundField ItemStyle-HorizontalAlign="Center" DataField="Code Item" HeaderText="<%$ Resources:Lassonde, CodeItem %>" SortExpression="Code Item" />
                    <asp:BoundField ItemStyle-HorizontalAlign="Center" DataField="Warehouse" HeaderText="<%$ Resources:CommandesClients, Warehouse %>" SortExpression="Warehouse" />
                    <asp:BoundField ItemStyle-HorizontalAlign="Center" DataField="Taxe" HeaderText="<%$ Resources:CommandesClients, ProduitTaxable %>" SortExpression="Taxe" />
                    <asp:BoundField ItemStyle-HorizontalAlign="Center" DataField="Qty Cmd" HeaderText="<%$ Resources:CommandesClients, QtyCmd %>" SortExpression="Qty Cmd" />
                    <asp:BoundField ItemStyle-HorizontalAlign="Center" DataField="Qty All" HeaderText="<%$ Resources:CommandesClients, QtyAll %>" SortExpression="Qty All" />
                    <asp:BoundField ItemStyle-HorizontalAlign="Center" DataField="Qty Exp" HeaderText="<%$ Resources:CommandesClients, QtyExp %>" SortExpression="Qty Exp" />
                    <asp:BoundField ItemStyle-HorizontalAlign="Center" DataField="Statut" HeaderText="<%$ Resources:Lassonde, Statut %>" SortExpression="Statut" />
                    <asp:BoundField ItemStyle-HorizontalAlign="Center" DataField="Total" HeaderText="<%$ Resources:CommandesClients, Total %>" SortExpression="Total" />
                </Columns> 
                <EmptyDataRowStyle CssClass="Header10n" HorizontalAlign="Left" />
     
            </asp:GridView>
            <asp:SqlDataSource ID="sqlDSDetails" runat="server"
            ConnectionString="<%$ConnectionStrings:Lassonde %>"  >
            </asp:SqlDataSource>
    Pour les titres de mes colonnes j'utilise des fichiers ressources (.resx). Mais lorsque la valeur de ma ressources contient un accent, il ne change pas de langue.

    Ex: Ma colonne Warehouse, le terme fr est : Dépôt, le terme an est Warehouse, et bien il reste toujours à Dépôt...

    Tous les titres sans accent changent de langue. Et lorsque je met la valeur de ma ressources Warehouse ds un div, la langue change, c'est vraiment un problème que j'ai juste ds les entêtes de mon gridview!

    Est-ce que quelqu'un saurait ce qui m'échappe!!

    Merci d'avance et bonne journée

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 106
    Points
    3 106
    Par défaut
    Peut etre est ce une lacune de la grid view car j'utilise des Resx dans un asp:datagrid et ca fonctionne niquel.

    Essaye peut etre de ce coté

  3. #3
    Membre actif Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Points : 222
    Points
    222
    Par défaut
    Est-ce que tu remplis t'ai HeaderText ds le CodeBehind, parce que ...

    Quand je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HeaderText="<%$ Resources:CommandesClients, DatePlanifiee%>"
    Lorsque je changes de langue, ça ne fonctionne pas du fr --> an et dans le code source je vois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <th>Date Planifi &# 233 ;e</th>
    Et si je fais dans le codeBehind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if e.Row.RowType = DataControlRowType.Header Then
                e.Row.Cells(7).Text = CommandesClients.DatePlanifiee
    ....
    Lorsque je changes de langue, ça ne fonctionne nikel et dans le code source je vois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <th>Date Planifiée</th>
    Comment faire pour le forcer à ne pas changer les caractères spéciaux par leur ascii code???

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 106
    Points
    3 106
    Par défaut
    Je fais bien ca dans le header text, et je gere trois langues sans problème

    par contre ton soucis me fait penser a un probleme de conversion de caractère type utf8 vers unicode ou ce genre de truc

  5. #5
    Membre actif Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Points : 222
    Points
    222
    Par défaut
    Quel est ton encoding de tes fichiers XML de tes Resources files... parce que là... je vois vraiment pas d'ou peut venir ce "foutu" problème!!!

    Moi j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="utf-8"?>

  6. #6
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 106
    Points
    3 106
    Par défaut
    L'encoding n'est pas spécifié chez moi, mais en utf-8 cela fonctionne

  7. #7
    Membre actif Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Points : 222
    Points
    222
    Par défaut
    Bon et bien j'ai finalement trouvé

    C'est que ds un BoundFields d'un gridview il y a la propriété HtmlEncore qui part défaut est à True. Et il à pour effet d'encode les entêtes lors de la publication du gridview.

    Et lorsqu'il y a des caractères ASCII ds le titre du gridview (et que celui-ci est rempli par un fichier ressource .resx) et que l'on change le UiCulture, ça ne le change pas. (d'ailleur... ça serait pas un bug ça???)

    Donc pour éviter ce SUPERBE problème (qui m'a fait $/%??&*? pendant une avant-midi) mettre simplement la propriété HtmlEncore à false!!!!!!


    Merci de votre aide!

  8. #8
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 106
    Points
    3 106
    Par défaut
    Donc je n'étais pas trés loin de la raison pour laquelle ca ne fonctionnait pas
    Merci pour le tuyau, je travaille avec mes fichiers .resx en ce moment, et j'aurais tout a fait pu etre confronté au même problème.
    Ceci me servira donc peut etre

    joli exercice de débugage

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

Discussions similaires

  1. String avec accent dans cookie
    Par Plawi dans le forum ASP.NET
    Réponses: 4
    Dernier message: 29/07/2008, 11h22
  2. Copie de String Avec Accents ou Apostrophe
    Par progamer54 dans le forum Langage
    Réponses: 3
    Dernier message: 30/10/2007, 10h40
  3. Réponses: 8
    Dernier message: 08/10/2006, 11h00
  4. [C#] PRoblème d'écriture d'un fichier avec accent
    Par shinchan dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/04/2006, 09h13
  5. Mauvais tri des String avec des accents
    Par lbreuillard dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 23/09/2005, 12h21

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