Dopo ore di prove, ricerche e studio non sono riuscito a cavare pressochè un ragno dal buco..sicuramente mi manca qualcosa, qualche anello di congiunzione.
Lo scenario è sempre il medesimo: griglia che presenta tutti i record, pulsante (
btnAdd) che mi consente di aprire una childWindow per effettuare l'inserimento di un nuovo record e appunto la childWindow (
frmCwDettaglio) che contiene un dataform con campi autogenerati.
Il codice che ho inserito nell'evento
Click del
btnAdd
cwDettaglio frmCwDettaglio = new cwDettaglio();
frmCwDettaglio.Show();
frmCwDettaglio.Loaded += new RoutedEventHandler(delegate
{
frmCwDettaglio.DDS.DomainContext = this._PersonaDomainContext;
Persona xxx = new Persona();
xxx.Id_Persona = 22;
xxx.Nominativo = "PINCO PALLINO";
frmCwDettaglio.myDataForm.CurrentItem = xxx;
});
Qui dentro ho provato veramente di tutto:
- ho tentato di di far riferimento al metodo
AddNewItem della dataform nella speranza che questa riconoscesse il tentativo di un nuovo inserimento;
-ho solo istanziato il nuovo oggetto di tipo Persona omettendo la valorizzazione;
-ho istanziato ed ho valorizzato l'oggetto di tipo Persona (il codice che ho appena postato);
-ho provato ad omettere la valorizzazione del DomainDataSource (
DDS).
Messaggi di errore non ne ottengo e la child window presumo risponda correttamente a quelle che sono le mie direttive: ad esempio nel caso del codice postato, la textbox inerente il nominativo nella childwindow viene correttamente valorizzata con PINCO PALLINO.
Il problema, forse, è quando premo il tasto salva della child window: l'evento
Edit_Ended della dataform presente nella child window, scatta sempre, ma le operazioni descritte nel post precedente non sortiscono alcun effetto se si tratta di un nuovo inserimento (viceversa gli update funzionano tutti correttamente).
Ho provato anche a mettere una messagebox nell'evento
AddingNewItem della dataform ma nulla, il programma non passa per nulla da quell'evento.
Riuscireste a darmi un aiuto??
Grazie.