22 messaggi dal 10 luglio 2002
Salve, ho una listview con elenco aziende, vorrei nidificare una seconda listview con i numeri di telefono, entrambe devono dare la possibilità di inserire/eliminare/dati.
nell'itemtemplate della listview esterna(out) ho nidificato la seconda (nested)
il problema nasce quando devo inserire un nuovo numero di telefono, nel record devo inserire la companyid della azienda a cui si riferisce, da dove prendo questo dato?
ho provato a valorizzare questo valore nell'evento itemdatabound della listview esterna:
Dim hiddencompanyid As Label = DirectCast(e.Item.FindControl("nested").FindControl("MYCompanyIdLabel"), Label)
hiddencompanyid.Text = Companyid.Text

ma ottengo l'errore: Riferimento a un oggetto non impostato su un'istanza di oggetto
grazie in anticipo a chi vorrà darmi una mano
ciao
luisa

Linea Web's
hai provato utilizzando la proprietà Datakey? ogni riga del ListView ne ha una associata

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
22 messaggi dal 10 luglio 2002
ti ringrazio per la risposta, ma quello che non so è appunto questo: come risalgo dalla nested listview a qualcosa relativo alla listview out (datakey o qualsiasi altro valore/campo)?
scusa se sono un po' duretta...
ciao e grazie
luisa

Linea Web's
quando viene creata la riga ci sono anche tutti i controlli che contiene quindi anche il tuo ListView nidificato, devi usare FindControl per recuperare un riferimento

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
22 messaggi dal 10 luglio 2002
ciao e così mi pareva di aver fatto, appunto dove sbaglio?
riprendo le tue risposte
"hai provato utilizzando la proprietà Datakey?"
ho recuperato la la companyID (che è key) della lv esterna nell'evento itemdatabound della lv esterna
Dim CompanyID As Integer = Integer.Parse(listView.DataKeys(dataItem.DisplayIndex).Value.ToString())

"quando viene creata la riga ci sono anche tutti i controlli che contiene quindi anche il tuo ListView nidificato": quindi è corretto usare l'evento item databound della listview esterna per trovare la lv nidificata e i relativi controlli in essa contenuti?

"devi usare FindControl per recuperare un riferimento", quindi dov'è l'errore nella sintassi che utilizzo?
'cerco la lv nidificata
Dim lvnested As ListView = CType(e.Item.FindControl("nested"), ListView)
'questa label si trova nella lv nidificata
Dim hiddencompanyid As Label = DirectCast(lvnested.FindControl("MYCompanyIdLabel"), Label)
hiddencompanyid.Text = Companyid
perchè ottengo quindi l'errore: Riferimento a un oggetto non impostato su un'istanza di oggetto ???
non ne vengo fuori grazie!!!

Linea Web's
22 messaggi dal 10 luglio 2002
sono ancora qua sigh,
ho fatto un passo avanti
e ora riesco ad inserire un nuovo numero di telefono (nella nested listview)associato alla relativa companyid (della lv esterna) avendo impostato anche per la nested listview la datakey companyid:

Protected Sub nested_ItemCommand(ByVal sender As Object, ByVal e As ListViewCommandEventArgs)
...
Dim myCompanyID As Integer = Convert.ToInt32(gvTemp.DataKeys(0).Value.ToString())
...
End Sub

tutto bene se nella nested listview ho già almeno un item, quindi è effettivamente presente un itemtemplate, e recupero la datakey, MA quando si tratta di inserire il primo record della nested listview ho solo l'insertitemtemplate e non trova la datakey, come è possibile aggirare il problema?
grazie dell'aiuto
ciao

Linea Web's

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.