This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

Table readonly --- Details editierbar

Allgemeine Fragen zur Entwicklung von und mit JVx.

Table readonly --- Details editierbar

Postby JoergAladin » Wed Jan 18, 2012 3:32 pm

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?
JoergAladin
 
Posts: 5
Joined: Mon Jan 16, 2012 12:06 pm

Re: Table readonly --- Details editierbar

Postby Support@SIB » Wed Jan 18, 2012 6:02 pm

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);
}
User avatar
Support@SIB
 
Posts: 353
Joined: Mon Sep 28, 2009 1:56 pm


Return to Development (DE)