Quando convalidare i dati immessi ?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • P. Marcello Genuini

    Quando convalidare i dati immessi ?

    Salve a tutti,
    Premesso che sono alle prime armi con c#, spero qualcuno di voi possa
    aiutarmi in un questo mio problema.
    Stò scrivendo una repository di form in c# che dovrebbero essere poi usate
    da un team di sviluppatori per scrivere applicazioni, e quindi vorrei dotare
    le varie form padre di più funzionalità possibili per evitare che queste
    vengano demandate alle form figlie che ereditano da queste.
    Prendiamo una form classica di gestione dati (singola tabella): questa
    contiene

    - una toolbar con bottoni che operano sul DataTable (First, Previous, Next,
    ........ New, Edit....Salva.. etc.etc.)

    - diversi controlli "bindati" (scusateil termine ma non me ne viene in mente
    un'altro) ai campi

    Il mio problema è, n quale punto devo convalidare i dati immessi dall'utente
    ?
    Vengo e mi spiego :-)

    In caso di Inserimento di un nuovo record il codice che viene eseguito al
    click del bottone
    sulla toolbar è:

    private DataRowView NewRecord(Curre ncyManager aCM)

    {

    if (this.BeforeIns ert(aCM))

    {

    ((DataView) aCM.List).AddNe w();

    aCM.Position = aCM.Count - 1;


    DataRowView drNew = ((DataView) aCM.List)[aCM.Position];

    ((DataView) aCM.List).Allow Delete = false;

    ((DataView) aCM.List).Allow Edit = false;

    ((DataView) aCM.List).Allow New = false;

    this.StateChang ed(aCM);

    return drNew;

    }

    else

    return null;

    }


    (BeforeInsert è un metodo che metto a disposizione per effettuare eventuali
    operazioni prima che l'operazione di insert cominci, ed eventualmente
    annullarla)

    Con StateChanged abilito/disabilito i bottoni della toolbar in base allo
    stato della DataTable (Quando sono in fase d'inserimento e/o Modifica gli
    unici bottoni abiliati sono Salva e Annulla)

    Prima domanda: Agire sul CurrencyManager per effettuare questo tipo di
    operazioni è l'unico modo oppure ve ne sono altri, tenendo presenti che io
    non conosco a priori la DataTable su cui sto' operando (Sono delle form
    "padre") ?

    Seconda Domanda: Se prima non chiamo aCM.EndCurrentE dit() quando interrogo
    le colonne della DataRowView in fase d'inserimento non trovo assolutamente
    nulla. Sbaglio qualcosa oppure e proprio cosi' che deve funzionare ? E se e
    cosi' che deve funzionare qual'è il momento migliore per effettuare la
    validazione dei dati inseriti da un uTonto (utente). Ho provato anche con
    gli eventi RowChanged e RowChanging ma il tutto funziona solo dopo la
    chiamata a EndCurrentEdit( ).

    Scusate per la lunghezza del Post, ma ho provato ad essere il piu'
    esauriente possibile.
    Grazie in anticipo a tutti quelli che mi aiuteranno.




  • P. Marcello Genuini

    #2
    Re: Quando convalidare i dati immessi ?

    Sorry....wrong post.....had to do it on an italian NG


    "P. Marcello Genuini" <mgenuini@tinn. it> wrote in message
    news:bNtsb.1156 4$9_.434063@new s1.tin.it...[color=blue]
    > Salve a tutti,
    > Premesso che sono alle prime armi con c#, spero qualcuno di voi possa
    > aiutarmi in un questo mio problema.
    > Stò scrivendo una repository di form in c# che dovrebbero essere poi usate
    > da un team di sviluppatori per scrivere applicazioni, e quindi vorrei[/color]
    dotare[color=blue]
    > le varie form padre di più funzionalità possibili per evitare che queste
    > vengano demandate alle form figlie che ereditano da queste.
    > Prendiamo una form classica di gestione dati (singola tabella): questa
    > contiene
    >
    > - una toolbar con bottoni che operano sul DataTable (First, Previous,[/color]
    Next,[color=blue]
    > ....... New, Edit....Salva.. etc.etc.)
    >
    > - diversi controlli "bindati" (scusateil termine ma non me ne viene in[/color]
    mente[color=blue]
    > un'altro) ai campi
    >
    > Il mio problema è, n quale punto devo convalidare i dati immessi[/color]
    dall'utente[color=blue]
    > ?
    > Vengo e mi spiego :-)
    >
    > In caso di Inserimento di un nuovo record il codice che viene eseguito al
    > click del bottone
    > sulla toolbar è:
    >
    > private DataRowView NewRecord(Curre ncyManager aCM)
    >
    > {
    >
    > if (this.BeforeIns ert(aCM))
    >
    > {
    >
    > ((DataView) aCM.List).AddNe w();
    >
    > aCM.Position = aCM.Count - 1;
    >
    >
    > DataRowView drNew = ((DataView) aCM.List)[aCM.Position];
    >
    > ((DataView) aCM.List).Allow Delete = false;
    >
    > ((DataView) aCM.List).Allow Edit = false;
    >
    > ((DataView) aCM.List).Allow New = false;
    >
    > this.StateChang ed(aCM);
    >
    > return drNew;
    >
    > }
    >
    > else
    >
    > return null;
    >
    > }
    >
    >
    > (BeforeInsert è un metodo che metto a disposizione per effettuare[/color]
    eventuali[color=blue]
    > operazioni prima che l'operazione di insert cominci, ed eventualmente
    > annullarla)
    >
    > Con StateChanged abilito/disabilito i bottoni della toolbar in base allo
    > stato della DataTable (Quando sono in fase d'inserimento e/o Modifica gli
    > unici bottoni abiliati sono Salva e Annulla)
    >
    > Prima domanda: Agire sul CurrencyManager per effettuare questo tipo di
    > operazioni è l'unico modo oppure ve ne sono altri, tenendo presenti che io
    > non conosco a priori la DataTable su cui sto' operando (Sono delle form
    > "padre") ?
    >
    > Seconda Domanda: Se prima non chiamo aCM.EndCurrentE dit() quando interrogo
    > le colonne della DataRowView in fase d'inserimento non trovo assolutamente
    > nulla. Sbaglio qualcosa oppure e proprio cosi' che deve funzionare ? E se[/color]
    e[color=blue]
    > cosi' che deve funzionare qual'è il momento migliore per effettuare la
    > validazione dei dati inseriti da un uTonto (utente). Ho provato anche con
    > gli eventi RowChanged e RowChanging ma il tutto funziona solo dopo la
    > chiamata a EndCurrentEdit( ).
    >
    > Scusate per la lunghezza del Post, ma ho provato ad essere il piu'
    > esauriente possibile.
    > Grazie in anticipo a tutti quelli che mi aiuteranno.
    >
    >
    >
    >[/color]


    Comment

    Working...