Table readonly --- Details editierbar
2 posts
• Page 1 of 1
Table readonly --- Details editierbar
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?
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
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:
oder mit Refetch vom Server:
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);
}
-
Support@SIB - Posts: 353
- Joined: Mon Sep 28, 2009 1:56 pm
2 posts
• Page 1 of 1