Avatar billede agertoft Nybegynder
26. oktober 2004 - 11:54 Der er 6 kommentarer og
1 løsning

Trække værdier fra TextBoxe ud i DataList

Jeg har en DataList med en tekstbox i mit ItemTemplate og i mit AlternatingItemTemplate. Denne dataliste genererer disse templates 8 gange hver. Mit spørgsmål går ud på, hvordan jeg trækker værdierne for en enkelt TextBox ud i mine variabler. ID'et på TextBoxen er jo det samme, men der er jo flere instanser af TextBoxen.

Hvordan gør jeg det?
Avatar billede snepnet Nybegynder
26. oktober 2004 - 12:05 #1
hej agertoft :o)

du kan trævle dem op sådan her hvis du vil :

foreach(DataListItem dli in someDataList.Items)
{
  if(dli.ItemType == ListItemType.Item || dli.ItemType == ListItemType.AlternatingItem)
  {
    // for finde teksten i en bestemt tekstboks : 
    string tekst = ((TextBox)dli.FindControl(<id fra template>)).Text;
  }
}

var det sådan noget i den stil ?

mvh
Avatar billede agertoft Nybegynder
26. oktober 2004 - 12:37 #2
mjahh.. jeg tror ikke jeg fik forklaret mig ordentligt :)

Lad os sige, at jeg har 4 poster i mit ItemTemplate og 4 poster i mit AlternatingItemTemplate. Jeg har kun defineret én TextBox pr Template med et id, men får jo skrevet fire ud på siden. Disse fire TextBoxe må jo så have det samme id. Men jeg skal bruge værdien i hver eneste TextBox. Det er den jeg vil have trukket ud i 8 forskellige variabler, så jeg kan arbejde videre med inputtet fra dem...

Hvordan får jeg fat i denne værdi, når de har ens ID?
Avatar billede snepnet Nybegynder
26. oktober 2004 - 13:15 #3
halløjsa igen :o)

dine tekstbokse har ikke samme id i den resulterende html, så hvis du skal lave en
FindControl pr. id - er det klart det nemmeste at gå igennem dine repeateritems som vist.

du kan self. også gå direkte på et givent item i din liste ved :
someDataList.Items[<index>].FindControl(<id>);

mvh
Avatar billede agertoft Nybegynder
26. oktober 2004 - 13:39 #4
Jeg tror ikke, at jeg forstår dig helt, eller også har jeg bare ikke fået forklaret mig godtnok... Hvis vi betragter nedenstående som min DataList. I hvert Template bliver der listet en række TextBoxe. For netop én række og netop én kontrol, skal jeg bruge værdien:

ItemTemplate  [] [] [] []
AlterTemplate  [] [] [7] []
ItemTemplate  [] [2] [] []
AlterTemplate  [] [] [8] []

Hvordan får jeg fat i 7,2 og 8-tallet i hver deres variabel?
Avatar billede snepnet Nybegynder
26. oktober 2004 - 13:45 #5
hvis din liste hedde someList, og hvis de 4 tekstbokse er navngivet sådan her :
[t1] [t2] [t3] [t4]

string v1 = ((TextBox)someList.Items[2].FindControl("t3")).Text;
string v2 = ((TextBox)someList.Items[3].FindControl("t2")).Text;
string v3 = ((TextBox)someList.Items[4].FindControl("t3")).Text;

mvh
Avatar billede agertoft Nybegynder
26. oktober 2004 - 15:07 #6
Det ser ud til at virke... :) jeg takker, læg et svar..
Avatar billede snepnet Nybegynder
26. oktober 2004 - 15:10 #7
et svar skal du få :o)
mvh
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