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?