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.
7 svar · 388 visningar · startad av aleborg
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";
}
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.
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
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
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
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()?
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
tack, nu har jag det precis som jag vill ha det :e