Stampare dei dati estrapolati con una select in una pagina.

martedì 17 febbraio 2009 - 14.42

86Marco Profilo | Expert

Salve.
Per la mia applicazione web ho creato una pagina che viene che contiene dei dati ognuno dei quali una volta cliccato riporta ad una pagina "scheda corsi" con una querystring.
Tramite la query string poi mi seleziono, con un reader, i campi di quel corso.
Ora desideravo sapere come poter stamparli a schermo.

Mi spiego meglio.
Alla Page_Load faccio la connessione al database ed estrapolo i dati che mi interessano e li memorizzo in un datatable.

Poi nella pagina ho una particolare tabelle creata precedentemente che ha delle celle ognune delle quali deve avere inserito un dato particolare dal database.

Come posso fare per stampare a video su una cella particolare della tabelle un campo inserito nella datatable?
grazie.

Jeremy Profilo | Guru

Ciao Marco.
Stai parlando del gridview?
Perchè se è così, potresti crearti una datatble con i campi che ti serve visualizzare e poi assegnarla al datasource del gridview.....ma ci sono anche tanti altri modi.
Comincia a vedere se questo potrebbe fare al caso tuo.

Facci sapere....
Ciao

86Marco Profilo | Expert

bhe quello che ho è una tabella composta da più celle in diverse posizioni.
In ognuna di queste celle devo inserire un datao che estrapolo con la select... che mi sai dire??

Jeremy Profilo | Guru

Ciao Marco
Se stiamo parlando del gridview, per scrivere un valore nella prima cella della prima colonna, devi usare questo codice:

GridView1.Rows(0).Cells(0).Text = "Valore"

altrimenti....spiegati meglio.
Facci sapere...
Ciao

86Marco Profilo | Expert

Ok... mi spiego meglio.
Ho questa tabelle HTML (vedi figura allegata) in giallo ti ho segnato le celle che devono contenere i valori estrapolati dal database!
Spero cosi possa averti fatto capire meglio il mio problema :)
Aiutami ti prego
Grazie

695x186 33Kb

Jeremy Profilo | Guru

Ciao Marco
Quindi parliamo di HTML....non di ASP.NET!!
Dovresti postare nella sezione adatta.
Per quanto mi riguarda, non saprei cosa dirti....mi dispiace.
Ciao

[EDIT]
NO...aspetta c'è qualcosa che non quadra...di cosa stiamo parlando????ASP.NET o HTML???
[/EDIT]

86Marco Profilo | Expert

allora parliamo di ASP.NET.
Questa tabella la creo con Visual Web Developer vorrei che quando si carichi estrapoli dati dal database e mi riporti i campi in ogni cella che ti ho colorato di giallo!
Come fare??? :(

Jeremy Profilo | Guru

Ok....nel code behind, avrai un riferimento all'oggetto table(supponiamo Table1)....quindi scriverai:
Se vuoi scrivere nella terza cella della prima riga della tabella
Table1.Rows(0).Cells(2).Text="Valore del DataTable"

Spero di aver capito....altrimenti ti prego di perdonare la mia cocciutaggine.
Facci sapere...
Ciao.

86Marco Profilo | Expert

Ho provato secondo la tua sintassi, ma scrivendo Table1.Rows(0).Cells(1) la proprietà Text non esiste e quindi non è possibile inserirla :(... Porca miseria.. come fareeee"???

paoval72 Profilo | Senior Member

Ciao, puoi postare il codice con cui crei la tabella?
PV

86Marco Profilo | Expert

Questo è il codice!
considera che il codice non lo scrivo "di mio" io disegno la tabella in modalità progettazione e mi viene creato il seguente codice:

<table runat="server" style="width: 100%" id="Table1">
<tr>
<td>

Titolo corso:</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>
&nbsp;</td>
</tr>
<tr>
<td>
Testo:</td>
</tr>
<tr>
<td>
&nbsp;</td>
</tr>
</table>

paoval72 Profilo | Senior Member

Ciao. Allora: basta scendere tra i controlli di quella cella.
Il testo nella cella è di tipo LiteralControl, quindi va "castato" per poi utilizzarne la proprietà text:
(questo è in C#)

((LiteralControl)(Table1.Rows[0].Cells[0].Controls[0])).Text="miodato"


PV


86Marco Profilo | Expert

Perfetto :)
Mille grazieeeeee

paoval72 Profilo | Senior Member

Di nulla. Accetta solo le risposte, mie e di Jeremy. mentre ci sono, appoggio la sua proposta di crearti un datatable come datasource per la tabella. Così puoi fare un semplice e veloce databind.

A presto!

PV

86Marco Profilo | Expert

un ultima cosa,
dimmi se ho kpt bene.
io ho inserito su ogni cella della tabella che deve contenere le informazioni estratte dal database un literal control. e poi da codice imposto com text del literal control il dato estrapolato dal database giusto?

Jeremy Profilo | Guru

Grazie paoval.
Non ne sarei venuto fuori.
Ciao.

paoval72 Profilo | Senior Member

Sì, esatto. In pratica, dentro ogni cella della riga c'è un ulteriore Control, una sorta di "etichetta" assegnata lato client. In questo caso è un LiteralControl: potevi fare una cosa simile inserendo un asp Control (ad esempio asp: Label) all'interno della cella:
(scrivo a memoria)
<tr> <td> <asp: Label runat="server" id="label1"> </asp:Label> </td> </tr>

In questo caso la Label sarebbe
((Label)Tab1.Cell[0].Controls[1]).Text
Perchè il Control[0] è sempre il tuo LiteralControl.
Ciao!
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