Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB.NET] Autosalvataggio Dati

    Salve a tutti,
    ho un modulo di inserimento dati e un tasto "salva" per salvare i valori inseriti nei vari TextBox, DDL, ecc.

    Quello che vorrei fare è "eliminare" il tasto salva e far salvare le modifiche effettuate nei vari campi in maniera automatica.

    Ho pensato di far eseguire la procedura "salvaDati" ad ogni modifica che viene rilevata in ogni singolo controllo, ma non mi passa più. E poi non lo trovo comodo se si ritiene necessario rimettere le mani al modulo nei successivi sviluppi.

    Allora ho pensato di mettere tutti i controlli del modulo in un "panel" e rilevare l'evento "mouseLeave" per salvare i dati quando il mouse esce dal pannello... ma non sempre funziona, cioè ho notato che muovendo il mouse veloce a volte l'evento non si rileva.

    Come posso procedere secondo voi? :master:
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  2. #2
    Esiste una interfaccia nel net framework chiamata INotifyPropertyChanged che viene usato nello sviluppo n-tier, cosa che in Italia, purtroppo, non e' di buon uso.
    Se lavorassi n-tier, e su HTML.it trovi diversi articoli a riguardo, il tuo problema non si porrebbe minimamente ...
    Io farei un semplice delegato comunque a tutti i controlli, dove ogni qual volta il contenuto e' cambiato, beh salvo i dati.
    E guarda che te la cavi con 4 righe di codice eh ... fai un for each per i controlli presenti nel container, ad ognuno associ il delegato, e nel delegato scrivi roba del tipo

    If (sender .... [proprieta'] <> "valore di base") Then
    ... salva ->

  3. #3
    Premetto che di sviluppo n-tier non ho mai sentito parlare, ma mi hai incuriosito e mi informerò!

    La tua idea del "for each" su tutti i controlli del panel mi piace invece, ma non ho capito bene come fare il delegato e usarlo!

    Hai qualche link di esempio?
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  4. #4
    Io gestirei l'evento Validating di tutti i controlli da un'unica procedura; se i controlli sono troppi, per cui verrebbe una clausola Handles lunghissima puoi ciclare sui controlli con il for each in InitializeComponents per associare la tua procedura all'evento di ciascun controllo tramite il metodo dei delegate che si usa normalmente in C#.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.