55 messaggi dal 29 ottobre 2008
Ciao,Ragazzi e ben tornati dalle ferie,ecco a voi un mio problema.

Ho una pagina Archivio.aspx,all'interno ho una oggetto Gridviw che visualizza le riche cosi come ho formattato.

Ho la neccessità di recuperare un campo che viene visualizzato nel gridvie in una label o tetbox fuori dalla griglia della gridviw.

Posto il mioo codice.

Nella pagina di codice Archivo.aspx.cs ho:
LabelTitol.Text = GridView1.SelectedRow.FindControl("Titolo").ToString();
che mi Genera questo eccezione:

Dettagli eccezione: System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto.
Mentre nella pagina Archivio.asp ho scritto questo codice prima della grigli della gridviw.

<asp:Label ID="LabelTitol" runat="server" ></asp:Label>&nbsp;.

come posso fare? posso anche cambiare modo di scrivere cosice..grazie a tutti..
lombardiMario wrote:
come posso fare?

devi puntare alla cella. una roba tipo questa:
LabelTitol.Text = ((TextBox)
GridView1.SelectedRow.Columns[0].FindControl("Titolo")).Text;

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
55 messaggi dal 29 ottobre 2008
Ciao,grazie per avermi risposto,ma ho ancora problema.
Ecco quanto:

Nella Page_load del fila aspx ho:

protected void Page_Load(object sender, EventArgs e)
{

LabelMese.Text = (string)Application["Mese"];
LabelCateg.Text = (String) Application["Categoria"];
LabelTitol.Text = ((Label)GridView1.SelectedRow.Columns[0].FindControl("Titolo")).Text;

LabelCommenti.Text = "Commenti(";


}


mi da questo errore:
'System.Web.UI.WebControls.GridViewRow' non contiene una definizione per 'Columns'.

Non socome si fa definire una definizione di colums,comunque poi ho pensato di scrivere cosi:

LabelTitol.Text = ((Label)GridView1.SelectedRow.RowIndex[0].FindControl("Titolo")).Text;
ma ottengo:
Impossibile applicare l'indicizzazione con [] a un'espressione di tipo 'int'.

Come posso fare'grazie
55 messaggi dal 29 ottobre 2008
Oppure posso fare cosi:
Il campo Turismo è un campo che viene preso dal db e visualizzato nel gridview,cosi come il testo che inizia con la frase "continiamo...."
mentre la scritta Selezione mi è venuta fuori dall'attività gridview
flegando il campo:attiva selezione.
Cliccando su selezione riesco a individuare l'id della riga il quale mi serve per far partire un altra query in altra pagina.
Se potessi cambiare il testo da Selezione in commenti sarei a posto.Ma come si fa?
Grazie.


Seleziona Turismo
--------------------------------------------------------------------------------
continuano ad essere trattati come un&#8217;estrazione del Lotto; dall&#8217;altra sono state salvate le banche che però non hanno salvato le aziende; ed, infine, l&#8217;amministrazione pubblica italiana, macchina imponente con qualche milione di dipendenti, ha riversato sul debito pubblico, sui servizi e su qualche migliaio di precari il costo della crisi.L&#8217;Italia, ad oggi, dicono abbia sentito meno la crisi rispetto agli altri Paesi occidentali
--------------------------------------------------------------------------------
Commenti ( 1 ) 17
--------------------------------------------------------------------------------


1 2 3
lombardiMario ha scritto:
mi da questo errore:
'System.Web.UI.WebControls.GridViewRow' non contiene una definizione per 'Columns'.


perchè sono andato a memoria, non è Columns ma Cells. tu però avevi l'intellisense, avresti potuto trovarlo facilmente. per il resto, non ho ben capito cosa vuoi fare, ma se puoi farlo così non vedo perchè dovresti farlo facendo un'altra query.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
55 messaggi dal 29 ottobre 2008
In effetti cio avevo provato con Cell ma mi da questo messaggio:

Riferimento a un oggetto non impostato su un'istanza di oggetto.

protected void Page_Load(object sender, EventArgs e)
{

LabelMese.Text = (string)Application["Mese"];
LabelCateg.Text = (String) Application["Categoria"];
LabelTitol.Text = ((Label)GridView1.SelectedRow.Cells[0].FindControl("Titolo")).Text;

come posso fare?
lombardiMario wrote:
come posso fare?

non so se la cella sia quella corretta, tanto per cominciare, ma io fossi in te atteccherei un debugger e proverei a vedere cosa c'è sotto Cells. a quel punto vedendo sotto la proprietà Controls dovresti vedere i rispettivi controlli e puntarli. comunque, se spieghi meglio cosa vuoi fare, magari c'è un modo più semplice, che non preveda tutto questo giro. intuisco che tu voglia un valore se è selezionata la riga ed un altro se non lo è, giusto?

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
55 messaggi dal 29 ottobre 2008
Adesso ti spiego tutto per bene.

Ho un query che mi tira fuori tutti i titoli con i respettivi articoli da una certa categoria e genere.

Quindi utilizzando il gridview faccio visualizzare a video i seguenti dati:
Titolo
Articolo
I dati vengono visualizzati una alla volta utilizzando il paging dalla gridview.
Ecco un esempio.


Turismo
--------------------------------------------------------------------------------
continuano ad essere trattati come un&#8217;estrazione del Lotto; dall&#8217;altra sono state salvate le banche che però non hanno salvato le aziende; ed, infine, l&#8217;amministrazione pubblica italiana, macchina imponente con qualche milione di dipendenti, ha riversato sul debito pubblico, sui servizi e su qualche migliaio di precari il costo della crisi.L&#8217;Italia, ad oggi, dicono abbia sentito meno la crisi rispetto agli altri Paesi occidentali
--------------------------------------------------------------------------------
Commenti ( 1 ) 17
--------------------------------------------------------------------------------

1 2 3


Adesso per ogni articolo ci possono essere dei commenti,per estrarre i commenti associati pensavo di recuperare l'id del articolo.
Ho pensato a due strade:
1)
Dopo aver Recuperato l'id del articolo (in questo caso è 17.) in questo modo:
<asp:Label ID="Label6" runat="server" Text='<%# Eval("IdContatore") %>'></asp:Label>
non riesco a metterlo in una variabile di comodo da poter poi usare come key nella pagina commenti.
2) oppure pensavo di usare Attiva Selezione nel gridview ma non mi piace che sia a sinistra o a destra del articolo lo vorrei sotto,e non so come fare.
spero di essere stato chiaro su quello che che devo fare,accetto consigli,disposto anche fare altre strade.
grazie tanto.
ciao

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.