2010-02-03 14 views
1

je dois briser ce texte sur des virgules en asp: GridView:Cassez grand texte en virgule dans GridView

aaaaaaaaaaa, AAAAA, aaaaaaaaaa, asdsad, aasfasfa, sfasfasfsfasfasfa, afasf.

Ce texte est trop étiré.

J'ai essayé avec css et avec le contrôle d'étiquette comme champ mais n'a aucun résultat.

Répondre

1

probablement essayer quelque chose comme ça

<ItemTemplate> 
    <asp:Label ID="idTitle" Text='<%# GetCommaDelimited(Eval("MyField")) %>' 
     runat="server"></asp:Label> 
</ItemTemplate> 

Et dans le code-behind, implémentez la logique d'affichage que vous recherchez.

0

Si vous insérez de l'espace entre les virgules, il s'enroulera (à moins que votre CSS n'empêche de le faire).

Ou vous pouvez tronquer le texte et utiliser un titre pour afficher tout le texte sur le vol stationnaire:

<span title="all the text here">truncated text here</span> 
+0

.Replace (",", ",")! –

+0

Je peux insérer de l'espace lorsque l'utilisateur enregistre un champ de texte, mais j'ai des problèmes avec des nombres comme 23,67. Merci pour la réponse – drejKamikaza

+0

Avez-vous un nombre si grand qu'il streching la colonne? Si vous avez du texte et des chiffres, vous ne pouvez ajouter de l'espace que s'il ne s'agit pas d'un nombre (en utilisant des expressions régulières). – pedro

0

Vous pouvez définir la propriété overflow CSS pour faire défiler si la cellule ne se développe pas, mais montre au contraire une barre de défilement.

0

Si le volume de la source de données n'a pas été grande, vous pouvez gérer l'événement PreRender de l'étiquette, puis remplacer la virgule par une balise de saut de ligne html comme ceci:

Label lbl = sender as Label; 
lbl.Text = lbl.Text.Replace(",","<br />");