Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Valore Selezionato in dropdown di un datagrid

    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

  2. #2
    Dunque in parte ho risolto:
    Riesco a recuperare il valore del dropdown selezionato, ma associandolo al testo.
    Vorrei a questo punto associarlo dal valore, cioè non tramite Findbytext, ma FindByValue, però non so come fare.
    Vi posto il codice che uso adesso:

    codice:
    'SUB DELL'EDITCOMMAND
    Sub ModificaDataGrid(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
            PopolaDDLSupCat()
            Sup_Cat_sel = CType(e.Item.FindControl("LblSupCat"), Label).Text
    
    
            DgrArchivio.EditItemIndex = e.Item.ItemIndex
            CaricaDataGrid()
    
        End Sub
    
    'SUB DELL' ITEMDATABOUND
    Sub AssociaDDL(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
            Try
    
                If e.Item.ItemType = ListItemType.EditItem Then
                    Dim DDLTemp As DropDownList
                    DDLTemp = CType(e.Item.FindControl("DDLSupCat"), DropDownList)
                    DDLTemp.SelectedIndex = DDLTemp.Items.IndexOf(DDLTemp.Items.FindByText(Sup_Cat_sel))
    
                End If
    
            Catch ex As Exception
                lblerrore.Text = "Errore dataitem: " & ex.Message
    
            End Try
    
        End Sub
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.