25 messaggi dal 27 luglio 2012
Buongiorno,
ho la necessita' di presentare a video una tabella stile excel con alcuni campi numerici editabili ed altri che si aggiornano sulla base di quelli modificati.
Ad esempio nella tabella seguente, vorrei poter editare le qta e calcolare in automatico il totale di riga e quello generale.

Articoli --- Prezzo - qta - Importo
Articolo1 ---- 1,00 --- 2 ---- 2,00
Articolo2 ---- 1,50 --- 3 ---- 4,50
Totale --------------------------6,50

Vorrei poter apportare diverse modifiche e salvare solo alla fine.
E' possibile? Qual'e' la logica da seguire?
Io pensavo di tenere una tabella in sessione, e ad ogni modifica ricalcolare tutti i totali, o qualcosa del genere, ma non so se sia possibile. Ho molti dubbi tipo: quando ricalcolare il totale?
Avere la tabella in sessione e non 'bindata' con il db e' una prassi corretta?
Insomma sono un po' confuso.... Aiuto!
Grazie.
puoi farlo con una gridview o anche con un repeater. Se non è un problema che la pagina si ricarichi è sufficiente impostare Autopostback=true suicontrolli. Altrimenti devi usare un UpdatePanel.
Ulteriore soluzione può essere farlo via javascript o ancora meglio trovare un componente jquery che lo faccia (non ho esperienza al riguardo)
qualche esempio:
http://www.jquery4u.com/plugins/7-jquery-microsoft-excel-type-plugins/
ma se è per un carrello non arriverei a tanto...
Modificato da manuel0081 il 10 giugno 2013 15.21 -

Ormai programmano tutti... ma la professionalità appartiene a pochi
Ciao, beh se non hai altre esigenze (come ad esempio cambiare la formula di calcolo) potresti usare benissimo delle textbox dove l'utente inserira i valori, poi da code behind esegui i calcoli che ti servono ed infine salvi il risultato nel tuo db.

Creazione Siti Vicenza
Posizionamento Siti - SEO
25 messaggi dal 27 luglio 2012
Innanzi tutto grazie.
Ora devo approfondire gli argomenti che mi avete indicato, ma ho ancora alcuni dubbi. In realta' la tabella che devo fare è un pelino + complessa, tipo questa:

Articoli --- Prezzo - qta - Importo
Articolo1 ---- 1,00 --- 2 ---- 2,00
Articolo2 ---- 1,50 --- 3 ---- 4,50
Tot. Tipo1 ---------------------6,50
Articolo3 ---- 2,00 --- 2 ---- 4,00
Articolo4 ---- 3,00 --- 3 ---- 9,00
Tot. Tipo2 --------------------13,00
Totale generale -------------19,50

Domanda 1:
La logica che mi suggerite e' piu' o meno questa?
a) creo la struttura della tabella in memoria (page_load)
b) leggo i dati dal db e carico la tabella (page_load)
c) salvo in sessione la tabella con tutti i valori
d) visualizzo la tabella
e) ad ogni modifica dell'utente aggiorno i totali in sessione
f) alla fine salvo nel db.

Domanda 2:
Come intercetto la modifica utente (per ricalcolare i totali)?

Certo se potessi evitare il post-back sarebbe eccezionale, ma per iniziare potrebbe andare bene anche ricaricare la pagina ogni volta.

Per riccardo78: Quando eseguo i calcoli dove salvo i totali? Ovviamente se non ho ancora finito tutte le modifiche. In pratica voglio modificare i dati, controllare i totali e poi, se mi va bene salvare nel db.

Per manuel0081: Quindi devo avere tutto in sessione?
Dipende dalla mole di dati di cui stiamo parlando. Sessione altrimenti db.

Ormai programmano tutti... ma la professionalità appartiene a pochi
domleg ha scritto:

Per riccardo78: Quando eseguo i calcoli dove salvo i totali? Ovviamente se non ho ancora finito tutte le modifiche. In pratica voglio modificare i dati, controllare i totali e poi, se mi va bene salvare nel db.

Infatti la mia soluzione era molto più semplicistica da quella che forse realmente hai. Ad ogni modo restando in linea con quanto suggerito, il dato una volta che tu hai eseguito il calcolo lo puoi semplicemente salvare nel db con un metodo che usi ad esempio Entity Framework (il mio preferito).

Ho pero una domanda, tutti gli altri dati che mostri sono stastici (ad esempio sono scritti nella pagina) oppure provengono anch'essi dal db?Perche (e chiedo venia se ho capito male) mi sembrava che dalla tua domanda questo non fosse ben chiaro...

Creazione Siti Vicenza
Posizionamento Siti - SEO
25 messaggi dal 27 luglio 2012
Tutti i dati provengono da db. (Si tratta di un tipo di 'cruscotto'). Io li metto in tabella divisi per categoria e calcolo i vari totali. Poi l'utente varia alcuni valori e (grazie al calcolo che vorrei riuscire a fare) controlla i risultati e continua a modificare fino a che il risultato gli piace. A quel punto salva nel db. Per questo ti chiedevo dove salvare le varie modifiche 'temporanee' che l'utente puo' fare prima di decidere il salvataggio definitivo.
Ok ho capito, infatti il suggerimento di Manuel è valido, o li salvi in una variabile di sessione oppure direttamente nel db. Dipende dall'entita dei dati...

Creazione Siti Vicenza
Posizionamento Siti - SEO

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.