Newsgroup: it.comp.lang.visual-basic
Titolo: DataGrid .dotNet

Ho inserito un Datagrid all'interno di un WebForm ed ho assegnato tutte le
proprietà mediante codice.
Adesso vorrei potere naascondere alcune colonne del datagrid o cambiare le
dimensioni di altre , ma non ci riesco .
Uso il seguente codice x popolare la griglia :
    DataGrid1.DataSource = ds.Tables("Catalogo")
    DataGrid1.DataKeyField = "ID_Catalogo"
    DataGrid1.DataBind()
quando provo ad accedere ,ad. esempio , alla seconda colonna con il se
guente codice :
dataGrid1.Column(2)
a runtime il browser mi dice che il numero della colonna è maggiore alle
colonne esistenti ,anche se il datagrid contiene 10 colonne !!!
Cosa posso fare per personalizzare il DataGrid ?
"The Doctor"

 Cosa posso fare per personalizzare il DataGrid ?
Prima o dopo la visualizzazione ?
giuseppeD

 Prima o dopo la visualizzazione ?
Prima , in poche parole vorrei formattare e rendere + leggibile la tab.
The Doctor

 ha scritto nel messaggio
news:Z%lbb.134407$R32.4...@news2.tin.it...


 Prima , in poche parole vorrei formattare e rendere + leggibile la tab.
Proposta di azione:
1- pagina proprietą della griglia
2- proprietą columns. Add le colonne necessarie
3- pagina HTML Add o modificare le varie proprietą.
Ave
giuseppeD
-----------------------
Reumatismi?
Il sole di Roma vi asciugherą le ossa
(cura indicata in particolare per abitanti in zone nebbiose, che accetteremo
dopo pagamento del pedaggio.)

 2- proprietą columns. Add le colonne necessarie
Ma come devo impostare per lavorare con un dataset e scegliere i campi da
visualizzare sul controllo ?
Mi spiego meglio attualmente il mio codice contiene le seguenti righe :
DataGrid1.DataSource = ds 'Dataset Select * FROM tab.
DataGrid1.DataKeyField = "ID_Catalogo"
P.S.  questo non rende possibile accedere alle singole colonne del datagrid
(il datagrid viene visto come formato da una sola colonna)
Cosa dovrei scrivere per avere visualizzato il campo Nome e il campo Cognome
?
Grazie ancora
The Doctor

 Cosa dovrei scrivere per avere visualizzato il campo Nome e il campo
Cognome
Un percorso:
La proprietą AutoGenerateColumns=True (della griglia),
dovrebbe aggiungere tante colonne quante presenti nella sorgente dati.
Quindi con "SELECT * FROM tabella"
costruzione DataSet (ds)
griglia.datasource=ds
a questo punto necessita legare i dati alla griglia
griglia.databinging
Se il desiderio č visualizzare solo alcuni campi :
1- eseguo un SELECT dei solo campi da mostrare
2- Add i campi a manina, con AutoGenerateColumns=false
anche una SELECT con tutti i campi, verranno visualizzati solo i campi
impostati nella griglia.
3- posso impostare a manina tutti i campi e assegnare nella pagina HTML,
colonna visible=false
4- ................
Ave
giuseppeD


Io vorrei optare per la soluzione numero 2 , ma il problema è che non riesco
ad implementarla
Datagrid1.AutoGenerateColumns=false
Datagrid1.columns.add( "Nomecampo" , GetType([tipo]))
' Come associo il valore al campo x ogni record ?
Datagrid1.databinding()
Ma il problema maggiore è che usando la soluzione 1 e digitando :
Datagrid1.Columns(2).visible = false
ottengo un errore a runtime che mi dice che la colonna 2 non esiste
Come mai ?
P.S. Grazie x la tua disponibilità
"The Doctor"

 ha scritto nel messaggio
news:aDTbb.104813$hE5.3...@news1.tin.it...


 Come mai ?
Per nascondere una colonna, per quello che ne sò,
pagina HTML,
colonna da nascondere, es. asp:BoundColumn DataField="ID" , add
visible=false
Ave
giuseppeD
---------------------------------------------------------------------
Ci vorrebbe un nuovo linguaggio, es. X#