Accueil > Forum > > > > Formatage de string dans datalist
Formatage de string dans datalist
lundi 24 juillet 2006 à 23:05:46 |
Formatage de string dans datalist

mdemo
|
Bonjour, C'est du classique, mais je n'y arrive pas... Je souhaite simplement limiter la longueur d'un label situé dans un datalist. Au-delà d'une certaine longueur je veux limiter la chaine et ajouter "..." Voici ce que j'ai fait: < asp:LabelID="PLabel"runat="server"Text='<%# IIf(Eval("PName").Length>4,Eval("PName").substring(0,4)&"...",Eval("PName")) %>'</asp:Label>Le problème est que ça plante au niveau du Length si la chaine est nulle. (sinon ça marche sans pb). Comment faire sans rajouter un iif pour vérifier la chaine nulle ? N'y-t-il pas une meilleure solution ? Merci d'avance pour votre aide.
|
|
lundi 24 juillet 2006 à 23:51:08 |
Re : Formatage de string dans datalist

jesusonline
|
Bonsoir IIF((Eval("PName") & string.empty).length >4, "toto" , "tutu" ) ? Fonctionnera sauf si Eval("PName") == DBNULL dans ce cas IIF( PName = DBNull.value, "rien", IIF((Eval("PName") & string.empty).length >4, "toto" , "tutu" ) ) Cyril - MVS - MCP
|
|
lundi 24 juillet 2006 à 23:53:57 |
Re : Formatage de string dans datalist

jesusonline
|
J'oublie tu peux aussi passer par l'evenement databound de ton codebehind et récuperer le label grace au paramètre e de l'évenement
Label lbl = (Label)e.Item.FindControl("tonlabel");
Cyril - MVS - MCP
|
|
mardi 25 juillet 2006 à 10:25:24 |
Re : Formatage de string dans datalist

mdemo
|
Merci Cyril pour ton aide... mais je ne m'en sors toujours pas.
La nuit a porté conseil et je me suis rendu compte que le problème n'est pas au niveau lu length de la chaine (je m'excuse pour cette mauvaise analyse du problème)
En effet sauf erreur Eval("PName") marchera même si PName est DBNull, et le résultat sera un string.empty (par ailleurs un test sur PName==DBNull.value ne marche pas car PName n'est pas reconnu)
Bref j'ai quand même fait des modifs comme suit (le premier IIf me semble donc inutile désormais):
IIf(Eval("PName")=string.empty, "no",IIf((Eval("PName")& string.empty).length>10,Eval("PName").substring(0,9) & "...",Eval("PName")))
L'erreur est toujours la même : Index and length must refer to a location within the string. Parameter name: length
En fait tout marche bien si j'enlève le substring. C'est ce que j'avais vu dès le début et c'est pourquoi je fais ce test sur la longueur. Dans le cadre de mon test les chaines sont soit nulles, soit d'environ 15 à 30.
As-tu une idée ?
Peux-tu m'expliquer pourquoi tu rajoutes un string.empty pour évaluer la longueur ?
Merci d'avance.
|
|
mercredi 26 juillet 2006 à 10:42:34 |
Re : Formatage de string dans datalist

Yopyop
|
salut,
ajouter string.empty fait que ta string n'est jamais nulle (null + "" = string non nulle), donc le length fonctionne
essaies
<%# IIf((Eval("PName") & String.Empty).Length>10, (Eval("PName") & String.Empty).substring(0,9) & "...", Eval("PName")) %>
si ca ne fonctionne pas essaies (par curiosité)
<%# IIf((Eval("PName") & String.Empty).Length>10, (Eval("PName") & String.Empty).substring(0,8) & "...", Eval("PName")) %>
yopyop
|
|
mercredi 26 juillet 2006 à 22:55:38 |
Re : Formatage de string dans datalist

mdemo
|
Merci pour ton aide Yopyop, mais ça ne marche pas même en allant jusqu'à (0,1). J'ai enfin trouvé une solution qui fonctionne, mais je suis toujours curieux de comprendre pourquoi celle-ci ne marche pas. Voici une solution: <asp:LabelID="PNameLabel"runat="server"Text='<%# FilterString(eval("PName"))%>'Width="100px"Height="30px"SkinID="LblSmall"></asp:Label>
Et un bout de code pour faire le boulot:
Protected Function FilterString(ByVal Toto AsString) AsStringDim strBuilder = New StringBuilder()strBuilder.Insert(0, Toto) If (strBuilder.Length > 18) ThenReturn strBuilder.ToString().Substring(0, 18) & "..."ElseReturn strBuilder.ToString()EndIfEndFunctionCa permet de contourner l'obstacle, mais j'aurais aimé faire plus simple avec la première solution.
Encore merci, et tiens moi au courant si tu trouves quelque chose
|
|
jeudi 27 juillet 2006 à 01:06:12 |
Re : Formatage de string dans datalist

Yopyop
|
personnellement, je trouve que passer par une fonction est beaucoup plus propre... et il serait encore plus propre de passer par l'événement ItemDatabound de la datagrid comme l'a suggéré jesus
yopyop
|
|
jeudi 27 juillet 2006 à 10:29:18 |
Re : Formatage de string dans datalist

mael974
|
salut
jai eu la solution anotre pbl mdemo sur le forum vois mon msg :
http://www.aspfr.com/infomsg.aspx?ID=784894
merci a ts les developpeurs...... c'est que du bonheur ce forum...on apprend ts les jrs !!!!
une simple fonction sql substring suffit a reglé notre pbl ......enjoy
=> MaEl <=
|
|
jeudi 27 juillet 2006 à 11:09:07 |
Re : Formatage de string dans datalist

Yopyop
|
bein si tu veux une solution sql tu peux également utiliser
left(champs_nom,longueur) et si tu veux tester si ta valeur est NULL tu utilise coalesce
SELECT COALESCE(left(champs,longueur),"CETTE VALEURE EST NULLE") from ....
yopyop
|
|
Cette discussion est classée dans : string, chaine, limiter, datalist, formatage
Répondre à ce message
Sujets en rapport avec ce message
web.config + clef de connection ! [ par jimmy69 ]
Bonjour a tous,Je fais des webform avec c# visual studio 2003 !et je me connecte a une db msde !avant je placais ma chaine dans une chaine de type str
Fonction qui peut retourner un string ou un int. ??? [ par DiJiTooL ]
Bonjour,Je voulais créer une fonction en asp.net C# afin d'exécuter des requêtes dans une base de donnée oracle cependant le type de retour peut très
Limiter les droits d'écriture [ par audugui ]
Bonjour,Je suis en train de créer un site web pour recueillir des données de plusieurs répondants.J'ai 4 catégories (pour le moment) avec un rôle par
chaine de connexion entre asp et sql server [ par mary_tssi ]
je veux une petite exemple :chaine de connexion pour connecter le code asp et la base de données sql servermerci d'avance
Procedure qui a trop d'arguments specifiés [ par bootchoz ]
Salut a vous ! J'obtiens ce message d'erreur :Procedure or function InsertRole has too many arguments specifiedvoila une partie de mon
Récupérer les valeurs stocker dans un datalist [ par Coolpix08 ]
Voila j'ai vu que les valeurs passer à un datalist ou datagrid son donnée via le datasource.et que ces donnée perdure apres chaque postback grâce au s
[VB.Net] Repeater , contenu dynamique [ par Dyr3e ]
bonjour, j'ai creer un repeater, contenant sur chaque ligne 2 champs. l'un est un label, et le 2 doit etre dynamique et fonction du type de données pr
Label1.Text="Ma Chaine" [ par 24 ans ]
Salut tout le monde.j'ai ajouter le Master page à mon application,et dans son entete j ai placer un label . je voudrais que lorsque une page est charg
Créer des colonne dynamiquement dans datalist? [ par Coolpix08 ]
Bonjour, J'aimerais savoir si il y a une méthode simple pour créer des colonnes dynamiquement dans un datalist a partir du code behing.Car pour le mo
Conversion formule => valeur décimale [ par flagadda ]
Bonjour,Je souhaiterais transformer une formule contenu dans un string en sa valeur en decimal.Par exemple :<div class="smallfont"
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|