23. august 2004 - 15:22Der er
23 kommentarer og 1 løsning
Style TextBox control i en repeater control
Hej
Er der nogen der ved hvordan man styler f.eks. en TextBox inden i en repeater control. Det skal gøres fra selve koden, sådan som man normal gør med en anden control:
hvis du har givet din textbox et id, kan du finde den i f.eks. itemdatabound med e.Item.FindControl(<id>); og du vil kunne gøre noget ved din tekstboks ved TextBox tb = (TextBox)e.Item.FindControl(<id>); tb..... hvad du nu vil.
så klikker du bare på repeateren i designeren. i dit propertyvindue kan du se et lille lyn øverst. hvis du klikker på det, fremkommer de events du kan abbonere på. Der dobbeltklikker du så på f.eks. ItemDataBound, og du får derved oprettet en handler til det event.a
du har en argument til rådighed i den handler der bliver oprettet til dig (e), og du kan via det trævle det aktuelle repeateritem op, og du kan gøre f.eks. det her :
Jep jep, jeg er med nu, men umiddelbart sker der ikke så meget. Har overskrevet eventhandleren nu, men mine tekstbokse ændre ikke farve, som jeg har sagt de skal.
Nu sætter du nogle farver som jeg ikke lige forstår, så tror du ikke bare at det er fordi de ikke findes ? txt.BackColor = Color.FromName("348729"); De værdier du kan bruge i FromName skulle være de samme som der ligger i enum-en System.Drawing.KnownColor Det er sådan noget som Blue og Aqua og den slags.
Den indeholder ikke farver, så det er ikke den. Jeg har lige prøvet og sådan ser alle mine andre controller også ud.
Jeg har et andet spørgsmål i samme kategori. En ting er at få fat i kontrollen for at sætte en style, men hvad nu når jeg gerne vil hive data ud fra f.eks. den checkbox som jeg har i min repeater? Hvordan gør man det?
på samme måde... men det vil du typisk gøre i ItemCommand (altså... hvis brugeren gør et eller andet, kan du stille noget op med det). hvis du tilføjer en knap i dit item kan du give den et CommandName, og et CommandArgument, so du så kan bruge i din ItemCommand.
Det du har skrevet skulle virke fint nok... er du sikker på at koden bliver kørt ? (du kan eventuelt lige teste det ved at skrive noget ud el.l.)
Nedenstående eksempel skulle køre ok : // og så er det godt lige et lave et check på ItemType inden du går til vaflerne.
Jeg vidste ikke at jeg skulle tilføje OnItemDataBound i repeater controllen, men det har jeg gjort nu og så virker det.
Ang. at hive data udfra listen igen, så har jeg lavet sådan en hvor man kunne rette i en liste og så skulle man trykke gem, men jeg vil gerne have at det skal ske når man trykker på Submit. Ved du hvordan det kan lade sig gøre?
jeg troede egentlig at webmatrix tilføjede den kode der skulle til for at abbonere på evented hvis du oprettede det via designeren, men det gør den måske ikke ? (jeg bruger selv visual studio)
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.