Valore cella in una gridview

mercoledì 20 giugno 2007 - 20.45

motogpdesmo16 Profilo | Senior Member

Salve a tutti,
con asp.net 1.0 e la datagrid ero solito utilizzare questa sintassi per recuperare il contenuto della cella della riga correntemente selezionata

e.Item.Cells(0).Text

ove 0 era la colonna della griglia.
Questo tipo di sintassi la utilizzavo per le operazioni di cancellazione oppure per effettuare delle altre operazioni che venivano lanciate con un comando apposito.
Come potrei effettuare la stessa cosa con la gridview in Asp.net 2.0???

Grazie.

martinez Profilo | Senior Member

Ciao a volte risolvo problemi come il tuo in questo modo:

// Recupero la riga selezionata ...

GridViewRow selectRow = this.GridView1.SelectedRow;

// assegno ad una stringa il valore della cella di mio interesse

string myText = selectRow.Cells[1].Text;

Storia diversa, è invece quella delle colonne template di una GridView ... ad esempio per le colonne di data-binding usate nell'ItemTemplate il valore del campo è automaticamente posizionato in DataBoudLiteral control ... per cui per recuperare tale valore occore ricercarlo nel DataBoundLiteral control della cella ... tale valore è il primo controllo della collection quindi:

DataBoundLiteralControl firstTxtLiteral = (DataBoundLiteralControl)selectRow.Cells[1].Controls[0];
string myTxt = firstTxtLiteral.Text;

Spero di aver chiarito
Ciao

motogpdesmo16 Profilo | Senior Member

Grazie per l'aiuto innanzitutto.
Ho provato a mettere il codice da te indicato ("tradotto" in vb) nell'evento Griglia_Rowcommand scrivendo:

Dim SelectRow As GridViewRow
SelectRow = Griglia.SelectedRow
Dim id_Disponibilita As String = SelectRow.Cells(0).Text


Ottengo la selectRow valorizzata a NOTHING e, conseguentemente, l'errore di "riferimento ad un oggetto non impostato su un'istanza di oggetto quando vado a tentare di assegnare un valore alla variabile id_disponibilita.
Sapresti aiutarmi in questo caso??
Grazie.

martinez Profilo | Senior Member

Mi spiace ... in questo caso non ho elementi sufficienti per capire il problema ... suppongo che ci sia da controllare i metodi e gli eventi che caricano la gridview ... purtroppo io non uso VB ma se posti o mandi il codice posso dare un'occhiata.

Saluti
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5