webForumDet fria alternativet

selected i dropdown

3 svar · 242 visningar · startad av andreas_lindh

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#1

Jag har en dropdownlist i edittemplate som jag fyller genom en funktion. Nu skulle jag vilja att "rätt" värde är selected.

Jag hittade det här exemplet http://aspalliance.com/das/dgcombo.aspx.

jag har nu testa med den här koden

Public strlaga As String
Public strlagb As String
Public Sub datagrid1_edit(ByVal obj As Object, ByVal e As DataGridCommandEventArgs)
        datagrid1.EditItemIndex = e.Item.ItemIndex
        strlaga = CType(e.Item.FindControl("Lbllaga"), Label).Text
        strlagb = CType(e.Item.FindControl("Lbllagb"), Label).Text
        datagrid1.DataBind()

    End Sub

Public Sub DG_ItemDataBound(ByVal s As Object, ByVal e As DataGridItemEventArgs)
        If e.Item.ItemType = ListItemType.EditItem Then
            Dim myDropDown As DropDownList
            myDropDown = CType(e.Item.FindControl("dpllaga"), DropDownList)
            myDropDown.SelectedIndex = myDropDown.Items.IndexOf(myDropDown.Items.FindByvalue(strlaga))
        End If
        If e.Item.ItemType = ListItemType.EditItem Then
            Dim myDropDown As DropDownList
            myDropDown = CType(e.Item.FindControl("dpllagb"), DropDownList)
            myDropDown.SelectedIndex = myDropDown.Items.IndexOf(myDropDown.Items.FindByvalue(strlagb))
        End If
    End Sub

och på aspx sidan har jag det här

<asp:label id="Lbllaga" runat="server" visible="False" text='<%# DataBinder.Eval(Container, "DataItem.lagid_a") %>' />
    <asp:label id="Lbllagb" runat="server" visible="False" text='<%# DataBinder.Eval(Container, "DataItem.lagid_b") %>' />
    <asp:dropdownlist id="dpllaga" width="120" runat="server" DataSource="<%# filldg() %>" DataTextField="Namn" DataValueField="id" />

    <asp:dropdownlist id="dpllagb" width="120" runat="server" DataSource="<%# filldg() %>" datatextfield="namn" datavaluefield="id" />

När jag försökr köra sidan får jag det här felet

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error: 

Line 47:     Public Sub datagrid1_edit(ByVal obj As Object, ByVal e As DataGridCommandEventArgs)
Line 48:         datagrid1.EditItemIndex = e.Item.ItemIndex
Line 49:         strlaga = CType(e.Item.FindControl("Lbllaga"), Label).Text
Line 50:         strlagb = CType(e.Item.FindControl("Lbllagb"), Label).Text
Line 51:         datagrid1.DataBind()
 

Source File: h:\inetpub\wwwroot\cup\spelschema.aspx.vb    Line: 49

Någon som vet hur jag ska göra för att detta ska fungera?

cyprysMedlem sedan dec. 20003 563 inlägg
#2

Om du vill finna ett värde och sätta det till select.
Listbox.FindByValue("Kalle").selected = true
el
Listbox.FindByText("Kalle").selected = true

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#3

ja. men jag vet ju inte vilket värde som ska vara selected.
det var därför jag har lagt

strlaga = CType(e.Item.FindControl("Lbllaga"), Label).Text

i datagrid1_edit

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#4

nu har jag löst det. Jag hade lagt lbllaga och lbllagb i edittemplaten istället för itemtemplate.

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)