Rubriken säger nog en hel del här. I mitt fall här har jag en tabell på 200 pixlar. I denna läggs rubriker in och det inträffar då att rubrikerna är längre än 200px. Vad jag då vill göra är att tala om en viss bredd som texten får vara och om dne överstiger det så skall den skriva ut så mycket som möjligt och sedan lägga till "...". Är detta möjligt och hur gör man det i så fall. Själv vet jag inte om det går göra på något ENKELT sätt. Sättet jag själv använt är att istället kolla hur många tecken som får plats på given bredd och sen använda det som måttstock. Sen finns det ju det *krångliga* sättet att göra det på (ej provat själv). Spara varje teckens bredd, för det typsnitt och storlek du använder, i en array. Gör en funktion som loopar igenom rubriken tecken för tecken och räknar samman bredden och eventuellt kapar av om den blir för bred. Eller så finns det ett enklare sätt som jag inte känner till. =) Själv har jag länge funderat på att göra en sån komponent som skulle kunna installeras på en server, kan det vara en bra idé? Eller dålig kanske? Sökte lite, men hittade inget... Nåt tips om vad man kan söka på? :) Splitar texten efter ett visst antal tecken.... Men man får ju aldrig reda på hur många pixlar man har förbrukat för det antalet tecken..? Det absolut enklaste sättet måste väl vara att kolla ungefär hur många tecken som går in på 200 pixlar och sen göra såhär: Visserligen enklaste, men vill man ha det mer exakt blir det svårare. Jag frågade samma sak i forumet för ett år sedan eller så, se trådarna : Jag skulle lösa det med den här aspkoden men den är inte 100% rätt alltid. Tack så mycket allihop. Det har varit till nytta.Vill inte att texten ska byta rad utan avrundas med "..."
Tack på Förhand!
MichaelSv: Vill inte att texten ska byta rad utan avrundas med "..."
Sv: Vill inte att texten ska byta rad utan avrundas med "..."
Sv: Vill inte att texten ska byta rad utan avrundas med "..."
Hej
Kolla igenom båda asp forumena, problemet har varit uppe där för inte så länge sedan.
//Anna-KarinSv: Vill inte att texten ska byta rad utan avrundas med "..."
Sv: Vill inte att texten ska byta rad utan avrundas med "..."
Kommer inte riktigt ihåg hur, men med hjälp av left() och right() så bör du kunna lösa det!! =)Sv: Vill inte att texten ska byta rad utan avrundas med "..."
Sv: Vill inte att texten ska byta rad utan avrundas med "..."
<code>
<%
strText = "Här skriver jag en text som förhoppningsvis är bredare än 200 pix när jag skriver ut det i en tabell"
%>
<%=left(strText,70)%><% IF Len(strText) > 70 THEN %>...<% END IF %>
</code>
I den koden har jag kapat strängen efter 70 tecken, som kanske är ett bra mått på 200 pixlar, inte vet jag. Poängen är ganska tydlig eller? Jag har även lagt till en koll om strängen ens är längre än 70 tecken, och är den det så lägger jag till "...". Är strängen slut innan 70 tecken är det ju onödigt att ha "..." i slutet.
Hoppas det jag skrivit kommer till någon hjälp!
-hermanSv: Vill inte att texten ska byta rad utan avrundas med "..."
T.ex. en text som innehåller en massa små L eller stora M, det blir ju stor skillnad l - M...
Men visst, man kan ju lösa det på det enklaste sättet ;)Sv: Vill inte att texten ska byta rad utan avrundas med "..."
[Nowrap på en hel TABLE?]
[Ränka ut bredden på en text.]
Problemet löstes inte fullt ut, men jag tappade intresset för problemet när jag inte fick det att fungera och följde inte upp ordentligt. Det du framförallt bör titta på är textOverflow :
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/properties/tablelayout.asp
Kolla även wordWrap :
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/properties/tablelayout.asp
samt wordBreak,wrap, noWrap m fl som du hittar i samma sektion. Men som sagt, jag fick det aldrig att fungera, kanske för att jag kombinerade det med någon annan tag, vad vet jag. Lycka till...och posta gärna lösningen om du knäcker den. Jag kommer säkert att ha nytta av en lösning på detta i framtiden, även om jag inte längre jobbar med det projekt där jag verkligen hade behövt den för ett år sedan :-)Sv: Vill inte att texten ska byta rad utan avrundas med "..."
<code>
LangText = "Här kommer en text som är aldeles för lång för att få plats på 200 px."
If len(LangText) >= 30 then
StrLangText = Left(LangText, 27) & "..."
End If
Response.Write(LangText)
</code>Sv: Vill inte att texten ska byta rad utan avrundas med "..."