[S2010] Salvare settings DatagridView

mercoledì 11 febbraio 2015 - 11.21
Tag Elenco Tags  C#  |  VB.NET  |  .NET 3.5  |  Visual Studio 2010

FabAO Profilo | Newbie

Buongiorno,
per cortesia qualcuno saprebbe consigliarmi come fare per salvare i settings (ordinamento, larghezza, visibilità) delle colonne di un datagridview?
Grazie - Fabio

sboss83 Profilo | Newbie

Ciao.
Hai provato a usare My.settings ?

https://msdn.microsoft.com/it-it/library/saa62613.aspx

A presto.
Stefano

FabAO Profilo | Newbie

Sì in effetti stavo cercando di utilizzare questo metodo... ma non ho capito come strutturare la cosa...
Per favore qualcuno mi può fare un esempio?

sboss83 Profilo | Newbie

Ma hai letto il link che ti ho suggerito ?
Cos'è che non ti è chiaro ?

Puoi usare i settings per salvare i valori che decidi di assegnare alle proprietà dell'oggeti datagrid.
Una volta creati e valorizzati li recuperi in questo modo
datagrid1.height = my.settings.nomeTuoSetting

Spero di essere stato chiaro

ciao
Stefano

FabAO Profilo | Newbie

>Ma hai letto il link che ti ho suggerito ?

sì ho letto e "credo" di aver capito come funziona il meccanismo base..
devo andare nelle proprietà del progetto dopo in Settings, creare "a mano" una variabile definendo il suo tipo, dopodiché posso richiamarla da codice come dicevi tu:

>datagrid1.height = my.settings.nomeTuoSetting

>Cos'è che non ti è chiaro ?

il mio dubbio è como posso fare per salvare nei settings una lista tipizzata oppure un arraylist?
perchè devo salvare le proprietà (nome, visibiltà, largezza, ordine di posizione) di ogni singolo datacolumn della gridview.
la mia tabella ha un centinaio di colonne e questo metodo mi sembra un po laborioso.

Grazie ancora =)

sboss83 Profilo | Newbie

Ciao Fabio.
Se ho capito bene tu devi salvare le proprietà di un centinaio di colonne.
Ora i casi sono due :
1) vuoi dare la possibilità di editare le proprietà di ogni colonna : devi per forza parametrizzare tutte le proprietà, in modo da poterle modificare
2) l'utente non ha la possibilità di modificare i valori delle proprietà : a questo punto ti basterebbe inserire i valori direttamente nel codice.
In entrambi i casi potresti salvarti i settaggi in un xml e richiamarli all'avvio del programma.
Ma ripeto : SE ho capito bene

Fammi sapere.

Ciao !


Stefano

FabAO Profilo | Newbie

Buongiorno Stefano!
è esattamente il caso 1) voglio dare la possibilità all'utente di fare i suoi filtri, i suoi ordinamenti, allargare o diminuire le colonne sulla GridView perchè giustamente essendo un centinaio di colonne capisco che non sia il massimo della visualizzazione ma questo è un vincolo, allora chi dovrà usare quest'applicazione almeno può mettere i campi più rilevanti per primo etc e poi si ritrova il tutto come aveva lasciato...

il file xml con i settaggi è sicuramente un'opzione...

ma vorrei provare a fare usando i my.settings, per adesso quello che non mi è molto chiaro è solo come passare una lista di oggetti al my.settings e come creare e richiamare "un setting" direttamente da codice...

Grazie - Fabio

sboss83 Profilo | Newbie

Ciao Fabio.
Non credo sia possibile assegnare una lista come valore di un setting.
In alternativa potresti provare ad utilizzare il tipo "stringcollection" oppure dividere i valori con un separatore e recuperarli con Split per popolare un array.
Per quanto riguarda il recupero di un valore :

dim miovalore = my.settings.miosetting

Peronalmente però utilizzerei un XML nel quale salvi la sequenza di visualizzazione e le proprietà di ogni singola colonna.
Tieni presente però che dovrai predisporre apposita form per la gestione di queste impostazioni OPPURE dare modo all'utente di modificare l'oggetto gridview e, quando raggiunge il settaggio desiderato, fargli salvare lo stato attuale delle proprietà in modo che si ripresenti uguale al prossimo avvio.

Fammi sapere.

Ciao !
Stefano
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5