Dunque il problema è che non riesco a far comparire nel dropdown che compare nel datagrid in editmode il valore selezionato.
Ho un Datagrid che ha un template di questo tipo:
codice:
<asp:TemplateColumn HeaderText="SuperCategoria">
<ItemTemplate>
<asp:Label
ID="LblSupCat"
Text='<%#Container.Dataitem("nome_sup_cat") %>' runat=server />
</ItemTemplate>
<EditItemTemplate>
<asp: DropDownList
ID="DDLSupCat"
DataTextField="nome_sup_cat"
DataValueField="ID_sup_cat"
DataSource="<%#MyDv %>"
runat=server
/>
</EditItemTemplate>
</asp:TemplateColumn>
Ed il codebehind è il seguente:
codice:
'QUESTA E' LA SUB ONEDITCOMMAND
Sub ModificaDataGrid(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
PopolaDDLSupCat()
DgrArchivio.EditItemIndex = e.Item.ItemIndex
CaricaDataGrid()
End Sub
'QUESTA E' LA SUB ONITEMDATABOUND
Sub AssociaDDL(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
Try
If e.Item.ItemType = ListItemType.EditItem Then
Dim DDLTemp As DropDownList
DDLTemp = e.Item.FindControl("tab_sup_cat")
Dim Drv As DataRowView = e.Item.DataItem
If Not drv Is Nothing Then
DDLTemp.Items.FindByValue(Drv("nome_sup_cat")).Selected = True
End If
End If
Catch ex As Exception
lblerrore.Text = "Errore dataitem: " & ex.Message
End Try
End Sub
Quando clicco sul pulsante onedit la dropdown mi carica i valori correttamente ma non setta il valore esistente su quello selezionato, e mi esce il seguente errore:
Object reference not set to an instance of an object
Mi dite cosa sbaglio per favore?
Grazie