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 :

Retour automatique à la ligne dans les cellules d'un GridView


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2010
    Messages : 292
    Points : 134
    Points
    134
    Par défaut Retour automatique à la ligne dans les cellules d'un GridView
    Bonjour,


    Je pense que cette question a déjà été posée mais je bloque un peu (j'ai même regardé dans la FAQ ).
    Dans une page, j'ai un GridView que je remplis manuellement, il y a quatre colonnes : un BoundField et trois ButtonField. J'aimerais que si le nombre de caractères compris dans la première cellule de chaque ligne (le BoundField) dépasse un certain nombre que ça mette un retour à la ligne automatiquement (dans mon cas, la longueur de la ligne n'arrête pas d'augmenter) et ce pour chaque ligne dans la cellule :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    "jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj" => le texte compris dans l enregistrement de la table
    "jjjjjjjjjjjjjjjjjjjjjjj
     jjjjjjjjjjjjjjjjjjjjjjj
     jjjjjjjjjjjjjjjjjjjjjjj" => ce que ça donne dans chaque cellule du GridView

    Merci d'avance de votre aide.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2010
    Messages : 164
    Points : 220
    Points
    220
    Par défaut
    précise une longueur max pour ta cellule et utilise la propriété wrap :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <asp:BoundField DataField="description" HeaderText="description" 
     SortExpression="description" ItemStyle-Width="120" ItemStyle-Wrap="true" />

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2010
    Messages : 292
    Points : 134
    Points
    134
    Par défaut
    Ok je vais essayer ça, je me souviens de "wrap" dans Excel pour renvoyer à la ligne automatiquement.

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2010
    Messages : 292
    Points : 134
    Points
    134
    Par défaut
    Rien n'a changé. Le fait que je spécifie Width et Wrap ne change rien. Est-ce à cause du type de données (nvarchar) ?
    Je te montre le code la GridView au cas où :

    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
     
    SqlDataSource SelectPropositions = new SqlDataSource(Connection.ConnectionString, "SELECT PropositionText " +
                                                                 "FROM [MyPanel-PollsPropositions] " +
                                                                 "ORDER BY PropositionText");
    GdVPropositions.DataSource = SelectPropositions;
    BoundField bf1 = new BoundField();
    bf1.DataField = "PropositionText";
    bf1.Item-Style.Width = 300;
    bf1.Item-Style.Wrap = true;
    bf1.HeaderText = "Proposition";
    ButtonField bf2 = new ButtonField();
    bf2.CommandName = "DeleteProposition";
    bf2.Text = "Supprimer";
    bf2.HeaderText = "Action 1";
    ButtonField bf3 = new ButtonField();
    bf3.CommandName = "UpdateProposition";
    bf3.Text = "Modifier";
    bf3.HeaderText = "Action 2";
    ButtonField bf4 = new ButtonField();
    bf4.CommandName = "InsertProposition";
    bf4.Text = "Ajouter au sondage";
    bf4.HeaderText = "Action 3";
    GdVPropositions.Columns.Add(bf1);
    GdVPropositions.Columns.Add(bf2);
    GdVPropositions.Columns.Add(bf3);
    GdVPropositions.Columns.Add(bf4);
    GdVPropositions.DataBind();

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Août 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2010
    Messages : 164
    Points : 220
    Points
    220
    Par défaut
    Bizarre, j'ai testé et ça fonctionne chez moi.

    Pourquoi faire tout ça dans le code behind plutôt que dans la page aspx?

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2010
    Messages : 292
    Points : 134
    Points
    134
    Par défaut
    Oui c'est vrai que je pourrais mais j'ai pris l'habitude de le faire dans le code behind. Comme j'ai dit, ce ne serait pas à cause du type de donnée dans la table ? De quel type est la donnée que t'utilise dans le BoundField dans ton cas ?

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Août 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2010
    Messages : 164
    Points : 220
    Points
    220
    Par défaut
    au départ, c'était de format "text" mais je viens de tester avec un nvarchar(255) et ça marche aussi

    Par contre, je remarque que le retour à la ligne ne se produit qu'après un " ".
    Tant qu'il n'y a pas de blancs, ça ne marche pas.

    exemple ici

  8. #8
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2010
    Messages : 292
    Points : 134
    Points
    134
    Par défaut
    Oui je viens de voir, effectivement, en même temps, il n'y aurait jamais quelque chose du genre : "testtesttesttesttesttesttesttesttesttesttesttesttesttesttest".

    Donc pour l'instant, ça marche tant qu'on spécifie "Wrap" à true.
    Merci bien tontonks !

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

Discussions similaires

  1. Forcer le retour a la ligne dans les cellules d'un tableau
    Par rolls dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 22/04/2012, 12h06
  2. [XSL-FO] Retour à la ligne dans les cellules d'un tableau
    Par sylvain&isa dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/07/2011, 20h56
  3. retour à la ligne dans les cellules d'une datagrid
    Par johnaliashead dans le forum Silverlight
    Réponses: 1
    Dernier message: 07/10/2010, 15h00
  4. Retour à la ligne dans les cellules de mon gridview
    Par rohstev dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/03/2009, 23h01
  5. Jtable et multi-lignes dans les cellules
    Par tuxor dans le forum Composants
    Réponses: 2
    Dernier message: 19/11/2005, 07h32

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