GridView

lunedì 10 settembre 2007 - 16.41

gae58 Profilo | Senior Member

salve,

vorrei collegare getAllUser ad una girView. Funziona, però mi riporta tutti i campi, invece volevo (anche per capire meglio come funziona), inserire manualmente una colonna.

Ho dichiarato autoGenerateColumns=false e nel Page_load volevo inserire il codice per creare una colonna ed in questa colonna far visualizzare solo il codice utente.

A tal proposito, non so che differenza ci sia tra l'usare GetAllUser() o aprire con un sqlDataSource la tabella degli Utenti.

Mi potreste aiutare per entrambi i quesiti?

Se non riesco a capire alcune cose basilare non penso di poter andare aventi bene

grazie
Gaetano

alx_81 Profilo | Guru

>salve,
ciao!
>
>vorrei collegare getAllUser ad una girView. Funziona, però mi
>riporta tutti i campi, invece volevo (anche per capire meglio
>come funziona), inserire manualmente una colonna.
>Ho dichiarato autoGenerateColumns=false e nel Page_load volevo
>inserire il codice per creare una colonna ed in questa colonna
>far visualizzare solo il codice utente.
diciamo che puoi farlo direttamente da asp.net, aggiungendo una collezione <columns> al gridview:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> <Columns> <asp:BoundField DataField="CampoInteressato" HeaderText="NomeColonnaDaVisualizzare" /> </Columns> </asp:GridView>

>A tal proposito, non so che differenza ci sia tra l'usare GetAllUser()
>o aprire con un sqlDataSource la tabella degli Utenti.
GetAllUser() è già fatto ed ottimizzato , il sql data source lo devi gestire tu e se non fai le stored procedure come si deve, potresti perderci in prestazioni..
Quindi usare il membership alla fine è più comodo e "probabilmente" più veloce..
>
>grazie
di nulla!

Alx81 =)

http://blogs.dotnethell.it/suxstellino

gae58 Profilo | Senior Member

ti ringrazi per la risposta esauriente, ma m'interessava aggiungere una colonna non nel codice della pagina aspx, ma nel page_Load e non ho ancora capito come si fa.

Ho visto che c'è columnsAdd, ma non ho capito bene la sintassi da utilizzare.

Mi potresti aiutare?

garzie

Gaetano

alx_81 Profilo | Guru

>ti ringrazi per la risposta esauriente, ma m'interessava aggiungere
>una colonna non nel codice della pagina aspx, ma nel page_Load
>e non ho ancora capito come si fa.
>Ho visto che c'è columnsAdd, ma non ho capito bene la sintassi
>da utilizzare.
>
>Mi potresti aiutare?
Allora, dovresti aggiungere la colonna utilizzando i tipi di colonna disponibili per il GridView, come il BoundField (attaccato alla sorgente dati) o il ButtonField..
Qui di seguito l'esempio di codice da mettere nel page_load:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Se non devi aggiungere colonne particolari come la button column, puoi sempre fare in un altro modo, più veloce. Semplicemente vai a popolare un datatable con tutte le colonne che ti servono (eventualmente col tipo indicato per rendere il datatable tipizzato) e poi metti autogeneratecolumns a true, indicando come datasource il tuo datatable.. In poche parole, solo le prime e le ultime righe, con l'ulteriore definizione delle colonne che ti servono. Attenzione perchè colonne Hyperlink, Image, Button non possono essere create con questo metodo..

>
>garzie
di nulla!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

gae58 Profilo | Senior Member

ti ringrazio per l'aiuto, proverò il codce.

La sintassi va bene per C# giusto?

ciao

Gaetano

alx_81 Profilo | Guru

>ti ringrazio per l'aiuto, proverò il codce.
>
>La sintassi va bene per C# giusto?
>
>ciao
è vbnet.. ma convertirlo è semplice
Alx81 =)

http://blogs.dotnethell.it/suxstellino

gae58 Profilo | Senior Member

lo spero perchè non sono pratico nè dell'uno nè dell'altro

proverò

grazie


Gaetano

alx_81 Profilo | Guru

>lo spero perchè non sono pratico nè dell'uno nè dell'altro
>
>proverò
>
>grazie
ti darò una mano per un pezzetino
// creo una riga fittizia System.Data.DataTable Dt = new System.Data.DataTable(); Dt.Columns.Add("CampoDaCollegare"); System.Data.DataRow DR = Dt.NewRow(); DR["CampoDaCollegare"] = "PROVA"; Dt.Rows.Add(DR);

dovrebbe essere corretto.. anche se non l'ho provato
il resto è del tutto simile..
ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

gae58 Profilo | Senior Member

gentilissimo, grazie
Gaetano
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