Page 1 of 1

Table readonly --- Details editierbar

PostPosted: Wed Jan 18, 2012 3:32 pm
by JoergAladin
Hallo,

ich habe mir intensiv die Showcase-Application und die javadocs angeschaut. Ich möchte gerne eine ähnliche Ansicht wie die Kontakte-Ansicht haben, allerdings die Tabelle (NavigationTable) nur als Auswahlmöglichkeit für die Detailanzeige verwenden. Die Einträge sollen dementsprechend nicht editierbar sein. In der Detailsansicht sollen Sie allerdings editierbar sein. Setzt man das databook nun auf "readonly" können (folgerichtig) beide Ansichten nicht mehr editiert werden. Setzt man den Table auf setEnabled(false) ist auch keine Auswahl mehr möglich. Gibt es eine Lösung für das Problem?

Re: Table readonly --- Details editierbar

PostPosted: Wed Jan 18, 2012 6:02 pm
by Support@SIB
Im Moment besteht nicht die Möglichkeit die UITable readonly zu setzen ohne das DataBook readonly zu setzen. In einer der nächsten JVx Versionen wird das allerdings möglich sein.

Dennoch gibt es Lösungsmöglichkeiten:

1) Erstellen eines MemDataBooks mit identen Columns und einer Kopie der Daten. Diese Variante ist bei vielen zu ändernden Daten allerdings nicht zu empfehlen.

2) Erstellen sie zwei RemoteDataBooks und verknüpfen sie diese per MasterLink mit dem PK. Sie können dafür das selbe Server-Objekt verwenden. Sie müssen jedoch beim Update des Detail(Formular) DataBooks den Master aktualisieren. Einfach den valuesChanged event verwenden und folgendes implementieren:

Um die Daten ohne Refetch vom Server zu setzen:

Code: Select all
try
{
    setReadOnly(false);
    //set this value once or always...
    setWriteBackEnabled(false);
    setValue(column, value);
    saveSelectedRow();
}
finally
{
    setWriteBackEnabled(true);
    setReadOnly(true);
}

oder mit Refetch vom Server:

Code: Select all
try
{
    setReadOnly(false);
    setLockAndRefetchEnabled(true);
    update();
    saveSelectedRow();
}
finally
{
    setLockAndRefetchEnabled(false);
    setReadOnly(true);
}