---
title: "Repeater problem forts."
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/66326-repeater-problem-forts"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Dino"
published: "2003-01-27T15:01:39.000Z"
updated: "2003-01-29T15:37:45.000Z"
replies: 8
views: 326
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/66326-repeater-problem-forts"
---

# Repeater problem forts.

## #1 — Dino, 2003-01-27T15:01Z

Har alltså ett dataset. Och en repeater med en funktion som skapar en dropdownlist genom funktionen makeDDL.

```
<itemTemplate>
   <tr>
      <td>
         <big><%# Container.dataitem(1) %></big> 
         <br />
         &nbsp;&nbsp;<span style="FONT-SIZE: 0.9em"><%# Container.dataitem(2) %></span> 
      </td>
      <td align="right">
         <%# makeDDL(Container.dataitem(0)) %> 
      </td>
   </tr>
</itemTemplate>
```

makeDDL funktionen i repeaten ser ut så här och är tänkt att skapa och retunera en dropdown:

```
function makeDDL(g_id as integer) as dropdownlist
   g_id -= 1
   dim ddlGift as new dropdownlist()
   ddlGift.id = "ddl" & god_id
   ddlGift.Items.add(new listitem("Ingen"))
   ddlGift.Items.add(new listitem("aa 3"))
   ddlGift.Items.add(new listitem("aa 5"))
   ddlGift.Items.add(new listitem("aa 10"))
   ddlGift.Items.add(new listitem("bb 3"))
   ddlGift.Items.add(new listitem("bb 5"))
   ddlGift.Items.add(new listitem("bb 10"))
   ddlGift.Items.FindByText(dsG.tables(0).rows(g_id).item("tri_gift")).selected = true
   return ddlGift
end function
```

Problemet är att enligt ovan kod så retunerar funktionen texten "System.Web.UI.WebControls.DropDownList" istället för själva kontrollen. Antar att man skall använda en placeholder och sätta in dropdownen i den. Men hur gör jag det i en repeater. Eller finns det något bättre sätt att göra detta. Hjälp snälla. Börjar bli desperat.

Permalänk: https://www.webforum.nu/p/66326

## #2 — NETwork, 2003-01-27T15:14Z

Måste du skapa den dynamiskt? Det borde ju gå att få samma resultat genom att helt enkelt låta en ddl ligga fast i din template och anropa en funktion som returnerar dess datakälla?

Permalänk: https://www.webforum.nu/p/928468

## #3 — Dino, 2003-01-27T15:21Z

Kan du visa lite i kod för hur du tänker så skulle det vara snällt.

Osv. Mina svar kan ta lite tid för tillfället för jag har lite problem med min anslutning.

Permalänk: https://www.webforum.nu/p/928477

## #4 — NETwork, 2003-01-27T15:37Z

En liknande diskussion går just nu här på .net... titta längst ned i den här tråden så kanske du förstår lite bättre vad jag menar. Annars får du fråga igen.

<http://www.webforum.nu/showthread.php?s=&threadid=64724>

Permalänk: https://www.webforum.nu/p/928494

## #5 — Dino, 2003-01-27T15:42Z

Ok, tror jag förstår. Kommer tillbaka annars. Tack. :)

Permalänk: https://www.webforum.nu/p/928500

## #6 — Dino, 2003-01-27T17:08Z

Ok, det funkade fint, men...
Tar det från början. I en repeater så (finns det/skall det skapas) en ddl med sju fasta värden och för varje ddl så  behöver jag gå in i ett dataset och titta på värdet i en viss kolumn och sätta den option som har det värdet till "selected". Sammanlagt skall det skapas sju ddl:er genom repeatern.
I koden från första inlägget så kan jag skapa en ddl och sätta "selected", men inte lägga in ddl:n där funktionen ligger.
I NETworks förslag så kan jag lätt skapa en ddl där den skall vara men vet inte hur jag skall sätta rätt option till "selected".

Någon som vet hur, för en helhetslösning?

Permalänk: https://www.webforum.nu/p/928562

## #7 — Dino, 2003-01-28T11:05Z

Kom på en lösning: :)

```
<itemTemplate>
   <tr>
      <td>
         <big><%# Container.dataitem(1) %></big> 
         <br />
         <span style="FONT-SIZE: 0.9em"><%# Container.dataitem(2) %></span> 
      </td>
      <td align="right">
         <asp:dropdownlist id="ddlBla" OnDataBinding="setSelected" Runat="server">
             <asp:listitem>Ingen</asp:listitem>
             <asp:listitem>aaa 3</asp:listitem>
             <asp:listitem>aaa 5</asp:listitem>
             <asp:listitem>aaa 10</asp:listitem>
             <asp:listitem>bbb 3</asp:listitem>
             <asp:listitem>bbb 5</asp:listitem>
             <asp:listitem>bbb 10</asp:listitem>
         </asp:dropdownlist> 
      </td>
   </tr>
</itemTemplate>
```

 
Använder OnDataBinding och däri 

```
Sub setSelected(sender As Object, e As EventArgs)
   sender.Items.FindByText(dsG.tables(0).rows(g_id).item("tri_gift")).selected = true
   g_id += 1
End Sub
```

Permalänk: https://www.webforum.nu/p/929129

## #8 — andreas_lindh, 2003-01-29T15:34Z

```
sender.Items.FindByText(dsG.tables(0).rows(g_id).item("tri_gift")).selected = true
```

Jag förstår inte allt i den där koden

dsg, är det datasetet? Måst du inte deklarera det?
item("tri_gift"), vad är tri_gift?

Permalänk: https://www.webforum.nu/p/933134

## #9 — NETwork, 2003-01-29T15:37Z

Det är ett dataset där han plockar ut den text han använder för att leta upp ett alternativ i dropdownlisten och som han sedan sätter som selected, där ska du alltså slänga in den sträng du vill ska vara selected i din dropdownlist. Om du exempelvis vill att "kalle" ska vara selected så skriver du så här:

```
sender.Items.FindByText("kalle").selected = true
```

Permalänk: https://www.webforum.nu/p/933139

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/66326-repeater-problem-forts
