Avatar billede celinder Nybegynder
21. juli 2005 - 01:53 Der er 13 kommentarer og
1 løsning

udskrivning med repeater

jeg gør  følgende når jeg udskriver via en repeater.....

<td><%#DataBinder.Eval(Container.DataItem, "Problem_detail") %></td>


hvilket også virker fint nok, men jeg ville gerne have den til kun at udskrive de første 50 bogstaver etc.

jeg har nuslet lidt med substring men kan ikke få det til at virke
Avatar billede softspot Forsker
21. juli 2005 - 02:03 #1
Hvad med:

Convert.ToString(DataBinder.Eval(Container.DataItem, "Problem_detail")).Substring(0,50)
Avatar billede celinder Nybegynder
21. juli 2005 - 02:16 #2
det virker ok fornuftigt nogle steder andre steder får jeg følgende fejl.......

Index and length must refer to a location within the string. Parameter name: length

det er ikke alle felter der er noget i nemlig, kan det ikke være derfor ?
Avatar billede softspot Forsker
21. juli 2005 - 02:31 #3
Umiddelbart lyder det rigtigt.

Kan du evt. læse feltet ud i en variabel som du checker længden af inden du beskærer længden. Noget i stil med dette (C#):

string strField = Convert.ToString(DataBinder.Eval(Container.DataItem, "Problem_detail"));
if(strField.Length < 50)
  Response.Write(strField);
else
  Response.Write(strField.Substring(0,50));
Avatar billede celinder Nybegynder
21. juli 2005 - 02:34 #4
det ved jeg ikke helt hvordan jeg gør da det er en repeater, jeg fylder i codebehind delen.......således
      Repeater1.DataSource = strSQL2.ExecuteReader(CommandBehavior.CloseConnection)

      Repeater1.DataBind()

i html filen gør jeg således:

<td><%#DataBinder.Eval(Container.DataItem, "Problem_detail") %></td>

hvilket virker fint, men jeg vil kun have den til at udskrive de første 50 tegn.
Avatar billede softspot Forsker
21. juli 2005 - 02:42 #5
Du kunne evt. beskære feltet i din SQL. Hvilken database benytter du?
Avatar billede celinder Nybegynder
21. juli 2005 - 02:44 #6
jeg bruger en sql server 2000 det har jeg også set lidt på men jeg bruger 3 felter fra den tabel.

tabellen hedder postings.

de 3 felter jeg bruger er:
posting_id, problem_title, probelm_detail

kan jeg skære dem i samme sætning, ?
Avatar billede softspot Forsker
21. juli 2005 - 02:47 #7
Du kan f.eks. gøre flg.:

SELECT
  posting_id,
  problem_title,
  LEFT(problem_detail,50) AS problemdetail
FROM
  postings

Bemærk at feltet problem_detail nu bliver omdøbt til problemdetail...
Avatar billede celinder Nybegynder
21. juli 2005 - 02:52 #8
jeg får syntax fejl near left ??

jeg har selv siddet og nørklet med at få sql til at gøre det, men kunne kun få den til at retunere 1 felt.
Avatar billede celinder Nybegynder
21. juli 2005 - 02:53 #9
manglede bare et komma, klokken er mange :D
Avatar billede softspot Forsker
21. juli 2005 - 02:55 #10
Betyder det at så at det fungerer som det skal...?
Avatar billede celinder Nybegynder
21. juli 2005 - 02:55 #11
kommer du ikke med svar,
Avatar billede celinder Nybegynder
21. juli 2005 - 02:56 #12
ja det fungere, mange tak :-)
Avatar billede softspot Forsker
21. juli 2005 - 02:57 #13
Det var så lidt... godnat :)
Avatar billede softspot Forsker
21. juli 2005 - 02:57 #14
...og tak for point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester