Hej! Nu är jag inne på spåret att jag inte ska ange namnet på datatable-variablen utan på METODEN som hämtar datatablen. Nu går det att kompilera, men jag får inga värden i dropdownen? OK, det löste sig. Jag fick deklarera datatablen utanför metoden, annars fanns den inte tillgänglig. Svar: Man får använda en metod där man skickar in ID:et. Sedan jämför man det inskickade ID:et med värdena i datatablen. När man hittat en rad där värdet stämmer överens med det inskickade radnumret returnerar man det aktuella radnumret och detta radnumret skall ancvändas i selectedindex-propertyn.Edititemtemplate dropdown
Jag har en gridview. När man redigerar gridviewens värden skall man för en kolumn kunna välja värden från en dropdownlist (man väljer förening som fionns i en databastabell). Jag har problem med att få datasourcen till denna dropdownlist att funka.
Jag har i codebehind (page_Load eventet) deklarerat en variabel
odtForeningsLista.
Det är en datatable. Jag fyller den med data. Själva problemet är att koppla ihop datatablen med propertyn datasource-propertyn i sidan.
I koden har jag angett:
DataSource='<%# odtForeningsLista %>'
Men då får jag error: 'odtForeningsLista' is not declared.
<asp:TemplateField Headertext='Förening' >
<ItemTemplate>
<%# Databinder.Eval(container.DataItem,"FORENINGSNAMNDAGLIG") %>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList runat="server" Width="20" DataSource='<%# odtForeningsLista %>' DataTextField = "FORENINGSNAMNDAGLIG" DataValueField = "FORENINGSNR" >
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>Sv: Edititemtemplate dropdown
Sv:Edititemtemplate dropdown
Nu får jag värdena att visas i dropdownen.
Nästa problem: Nu är inte rätt förening selekterat i listan, utan den första. Jag har hittat ett exempel för asp.net 1.1 där dropdownen har en property selectedindex och man använde denna property. Dock verkar den vara borta i 2.0?Sv: Edititemtemplate dropdown
Protected Function GetForeningSelectedIndex(ByVal iForeningsNr As Integer) As Integer
Dim iRow As Integer
For iRow = 0 To odtForeningsLista.Rows.Count - 1
If iForeningsNr = odtForeningsLista.Rows(iRow).Item(0) Then
Return iRow
End If
Next
End Function