6 messaggi dal 30 dicembre 2011
Salve tutti, ho una domanda relativa all'utilizzo del datagridview e gestione dei dati. Premetto che sono nuovo in VB e quindi qualsiasi suggerimento sarà utile...

Sto creando un programma nel quale genero due datagridview per l'inserimento di dati da utente: inizialmente utilizzo due datatable che mi consentono di definire il numero di righe e la prima colonna delle datagridview che vengono generate dunque vuote e poi sono popolate da utente. I dati di ingresso delle datagridview sono di tipo string: una volta generate applico una formattazione condizionale (read only su alcune celle, paint su altre ecc ecc) poi attendo che l'utente le riempia. Adesso devo fare due cose:
1_ creare un oggetto (un array? o un datatable di nuovo?) che comprenda tutti i dati inseriti nelle due datagridview li trasformi in tipo double e mi consenta di ciclare al suo interno per fare dei calcoli. Non so bene quale possa essere l'elemento più utile da utilizzare per fare i calcoli in modo iterativo pescando man mano dati dall'elemento, suggerimenti?

2_ vorrei poter esportare le info delle mie datagrid in formato excel e vorrei che la corrispondenza fosse biunivoca, cioè vorrei poter creare un foglio excel (nel formato opportuno) e utilizzarlo per popolare le datagridview e ovviamente poter generare anche l'elemento utilizzato per i calcoli

Grazie per i suggerimenti
che tipo di interazione avevi pensato?
nel senso vuoi fare tutto sul client e poi mandare i dati raccolti in un unico colpo sul sever o vuoi fare pià round-trip verso il server?

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
94 messaggi dal 09 novembre 2005
Dunque se ho capito bene, vorresti averei uno "strumento" per importare ed esportare in formato excel, sulla datagridview. Se è così dovresti partire col implementare una libreria che permetta in modo "generico" i dati in entrata e in uscita.

Il pacchetto informativo in ingresso e uscita dovrebbe essere lo stesso, poi uno strumento che converte il "pacchetto" in formato excel e viceversa.

In pratica dovresti avere queste classi:

- Libreria che riceve il dataset della grid e restituisca una collection generica con dati tipizzati: questo permette di convertire tutti i campi string nel formato giusto. Inoltre deve avere anche un metodo che passata la stessa collection può restituire un dataset per la grid.

QUINDI: classe DataSetCollectionConverter con 2 metodi ToCollection e ToDataSet
il costruttore deve poter ricevere una Collection oppure un Dataset, il tutto effettuando l'overload del construttore.


- Libreria che riceve una collection ed esporta in excel.Inoltre deve poter ricevere un excel e restituire una collection

QUINDI: classe CollectionExcelConverter con 2 metodi ToExcel e ToCollection, idem come sopra

Scomporre questi 2 passaggi permette di modulare la funzionalità quindi se un domani hai esigenza di esportare o importare in altro formato basta che implementi un altro CollectionXXXXXXXXConverter.

Spero di esserti stato utile.
Modificato da dakyn77 il 30 dicembre 2011 11.49 -
Modificato da dakyn77 il 30 dicembre 2011 11.49 -
6 messaggi dal 30 dicembre 2011
grazie per la risposta
è possibile trovare esempi di codice in tal senso?
6 messaggi dal 30 dicembre 2011
Nostromo

non saprei bene dire la differenza tra le due opzioni, come detto sono ancora alle prime armi. Per quanto riguarda il codice interno non ho avuto grossi problemi, l'interfaccia verso l'esterno (nel mio caso excel) è ancora tutta da definire...
94 messaggi dal 09 novembre 2005
Se ti puo essere utile:
Collection<T> http://msdn.microsoft.com/it-it/library/ms132397.aspx (Tieni conto che è una collection generica dove T dovrebbe essere una classe che corrisponde al tuo DataRow, quindi immagina di avere una property per ogni tuo campo) Dovresti fare (te la butto lì) una classe Riga dove nel costruttore passi il DataRow, in questo modo puoi inizializzare l'oggette Riga direttamente con i dati della DataRow e poi aggiungi l'oggetto Riga alla Collection, e così via.

Ho trovato questo dovrebbe per lo meno "indirizzarti" per la creazione excel. ATTENZIONE che sul server web dovresti avere le librerie di excel per fare questa cosa lato server e poi bisogna tener conto a quale versione di excel ti riferisci
http://forum.html.it/forum/showthread.php?threadid=1453991

Spero di esserti stato utile
dakyn77 wrote:
Ho trovato questo dovrebbe per lo meno "indirizzarti" per la creazione excel.

usare automation di office lato server è sempre una cattiva idea. sempre. molto meglio generare in modo alternativi che lavorino sul formato (OpenXML, ad esempio).
.

Daniele Bochicchio (ASPItalia.com)
I libri su HTML5, WP7, ASP.NET 4.0, VB 2010, C# 4, Entity Framework
Senior Software Architect @ 5DLabs.it

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.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC