Aggiunta la gestione dei campi TLoadable
git-svn-id: svn://10.65.10.50/trunk@4383 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3fdd1b2259
commit
ca93963091
@ -1278,7 +1278,6 @@ void TMask::show(
|
||||
}
|
||||
|
||||
// @doc EXTERNAL
|
||||
|
||||
// @mfunc Rimette lo stato di default del campo
|
||||
void TMask::show_default(
|
||||
short fld_id) // @parm Identificatore del campo da risettare (default -1)
|
||||
@ -1299,8 +1298,8 @@ void TMask::autoload(const TRelation& r)
|
||||
for (int i = 0; i < max; i++)
|
||||
{
|
||||
TMask_field& f = fld(i);
|
||||
if (f.is_editable())
|
||||
((TEditable_field&)f).autoload(r);
|
||||
if (f.is_loadable())
|
||||
((TLoadable_field&)f).autoload(r);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1311,25 +1310,23 @@ void TMask::autosave(TRelation& r) const
|
||||
for (int i = 0; i < max; i++)
|
||||
{
|
||||
TMask_field& f = fld(i);
|
||||
if (f.is_editable())
|
||||
if (f.is_loadable())
|
||||
{
|
||||
TEditable_field& e = (TEditable_field&)f;
|
||||
if (e.field() != NULL)
|
||||
TLoadable_field& l = (TLoadable_field&)f;
|
||||
bool save = f.shown();
|
||||
if (!save && f.is_editable())
|
||||
{
|
||||
bool save = f.shown();
|
||||
if (!save)
|
||||
{
|
||||
//in questo modo si autorovinava il contenuto
|
||||
//del campo a maschera
|
||||
//e.autoload(r);
|
||||
//save = e.empty();
|
||||
TString str;
|
||||
str = e.field()->read(r);
|
||||
save = str.empty();
|
||||
}
|
||||
if (save)
|
||||
e.autosave(r);
|
||||
// tenta di effettuare il save dei campi Edit hidden:
|
||||
// salva il nuovo valore solo se il precedente era blank
|
||||
TEditable_field& e = (TEditable_field&)f;
|
||||
if (e.field() != NULL) {
|
||||
TString str;
|
||||
str = l.field()->read(r);
|
||||
save = str.empty();
|
||||
}
|
||||
}
|
||||
if (save)
|
||||
l.autosave(r);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user