Comment formater le nombre de caractères d'un colonne dans un control gridview

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 174 fois - Téléchargée 22 fois

Contenu du snippet

Il est assez déroutant de voir certaines valeur dans des colonnes de gridview aussi longues qu'un jour sans pain. Je vous propose donc un petit script parmettant de formater cet affichage.

Pour cela, il faut que vous définissiez un nombre de caractères max à afficher dans votre colonne.

Dans mon cas, grdMessages est mon gridview, je veux formater l'affiche de la 5ème colonne (Attention les index des colonnes débutent à 0).

Source / Exemple :


''' <summary>
''' Méthode permettant de formater le nombre de caractères d'une colonne dans un gridView
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Protected Sub grdMessages_RowDataBound(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
   ' Nombre de caractères max que l'on souhaite voir dans la colonne.
   Dim maxChar As Integer = 50
   ' Si la ligne est bien de type ligne
   If e.Row.RowType = DataControlRowType.DataRow Then
       ' Si la longueur de chaine de caractères de la 5ème colonne dépasse le nombre max de caractères
       If e.Row.Cells(4).Text.Length() > maxChar Then
           ' On affiche les max premiers caractères - 3
           e.Row.Cells(4).Text = e.Row.Cells(4).Text.Substring(0, maxChar - 3)
           ' On ajoute '...' pour spécifié que le texte a été coupé.
           e.Row.Cells(4).Text = e.Row.Cells(4).Text + "..."
       End If
       ' Affichage du texte entier en tooltip.
       e.Row.Cells(4).Attributes.Add("Title", e.Row.DataItem("TEXTE_MESSAGE").ToString)
   End If
End Sub

Conclusion :


Je ne suis pas un gourou de l'ASP.Net, donc si vous avez mieux, je suis preneur.

A vous de jouer maintenant.

A voir également

Ajouter un commentaire Commentaires
Bonjour je n'y connais absolument rien en VB, qu'est ce que cela donne en c# ?
PixelFred Messages postés 3 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 26 février 2011
26 févr. 2011 à 23:02
C'est exactement ce que je cherche...Merci.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.