webForumDet fria alternativet

tabbar och text

.NETur .NET

7 svar · 388 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Frågan#1

Jag håller på med en orderbekräftelse och i mailet som går ut finns alla produktraderna med artikelnummer, namn och pris:

p1		produkt 1			100 kr
p2		produkt 2			200 kr

problemet är att om artikelnumret eller namnet är förlångt så blir allt förskjutet:

artikelnrsomärförlångt		produkt nått		100 kr
p5		produktnamn som är väldigt långt kanske		200 kr
p2		produkt 2			200 kr

Hur löser man det smidigast? Så här ser koden ut idag:

foreach(DataRow odr in ((DataSet)Session["Basket"]).Tables[0].Rows)
{
	orderrader += odr["Article"].ToString()+
	"\t\t"+odr["Name"].ToString()+"\t\t\t"+
	String.Format("{0:c}", odr["Price"].ToString()).Replace("."," ")+" kr\r\n";
}
Medlem sedan juni 20019 024 inlägg
#2

Gör en textsträng som reserverar kanske 50 tecken.

Om ditt produktnamn är 20 tecken långt fyller du resterande utrymme med 30 blanksteg.

Eller så kan du använda html-meddelanden med tabeller.

Medlem sedan apr. 2004298 inlägg
#3

Jag gjorde ett textmail med vbTab;, det var i VBscript.

Använde då Dundas Mail. Men det borde väl gå med nån dotnet tabb också. Meddela gärna hur du löser problemet ska snart ta mig an ett bekräftelse mail.

/pär

Medlem sedan apr. 2004298 inlägg
#4

Ahhh missförstod dig.. du gör ju redan tabbar. Jag vet inte vad det är med mig denna vecka. Helt snurrig i kolan.

Bry Er inte om min närvaro på wF v11, jag kommer igen på måndag v12.

/pär

Medlem sedan maj 20012 812 inlägg
#5

Jag är inne på pace förslag. Använd dig av PadLeft() / PadRight() för att reservera ett visst antal tecken. På det sättet så slipper du hålla på med tabbar som har sina problem.

Se dock till att använda ett teckensnitt som har samma bredd oberoende av tecken annars så blir det fullt.

- M

Medlem sedan jan. 20013 341 inlägg
#6

Det är ett vanligt textformaterat mail som skickas med den inbyggda mail-funktionen i .NET.

Nått förslag p hur det skulle kunna se ut med PadLeft() och PadRight()?

Medlem sedan maj 20012 812 inlägg
#7

Nått förslag p hur det skulle kunna se ut med PadLeft() och PadRight()?

Tänk så mycke fortare du hade fått svar om du titta i dokumentationen :)

string s = "Magnus";
s.PadRight(50, " ");

Ger dig en textbred på 50 tecken där de 6 första är Magnus och nästa 44 tecken är " "

- M

Medlem sedan jan. 20013 341 inlägg
#8

tack, nu har jag det precis som jag vill ha det :e

136 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)