hmm.
"apex_item ist ein package. da ist unter anderem eine funktion drin namens checkbox." ist ja nicht so,dass man in die funktion nicht reinsehen könnte.
"Ich habe gerade in eine Region mit einem Formular einen Button gelegt mit dem Aufruf "javascript:apex.widget.tabular.addRow();". Den habe ich von einem erzeugten AddRow-Button geklaut. Auf der Seite war noch eine weitere Region mit einer Tabelle und in dieser wurden dann neue Datensätze erzeugt. :-(
Ich weiss überhaupt nicht, was da passiert. "
ist relativ einfach: wenn du den assistenten benutzt hat das den vorteil,dass der dir beschränkungen auferlegt. wenn du auf einer seite mehrere berichte hast geht das. aber 2 tabforms z.b. dürfte per assistent nicht gehen. wenn man nun hergeht und vom assistenten generierte prozesse oder sonstwas einfach auf eine andere seite kopiert, wo es schon eine tabform gibt, kann apex schon mal durcheinanderkommen.
schau dir mal das beispiel an:
[
deneskubicek.blogspot.de]
"Falls ich mehrere Tabellen auf der Seite hätte, wo würde javascript:apex.widget.tabular.addRow(); denn neue Sätze erzeugen? "
keine ahnung. verwende ich nicht :). vermutlich bei der tabform mit der kleinsten sequence ,also die erste angelegte.
neue sätze erzeugen am besten mit einem seitenprozess,den man neu anlegt.sqlprozess, insert into .. where
in der whereclause könnte man noch shuttle oder lovs mit einbeziehen. den seitenprozess kann man in den prozessoptionen an einen button binden.
ODER direkt die tabform beim erstellen angeben, für die der prozess gelten soll.
"Falls ich so eine Art Shuttle selber bauen wollte, also z. B. links auf der Page eine Region mit einer Tabelle mit Benutzergruppen, die dem Benutzer schon zugeordnet wurden, rechts daneben Buttons zum Hin- und Herschieben der Daten (wie ordnet man die denn auf der Page an???) und noch weiter rechts eine weitere Region mit der Tabelle der Benutzergruppen, die noch nicht zugeordnet wurden?"
hört sich nicht gut an das mit den buttons.
weil son button meist auch die seite neu lädt. und das würde u.u bedeuten ,dass man andauernd die seite abfeuert, für jeden satz einzeln. wäre dann zuviel trafic zwischen client server.
ich würde eine tabform mit kontrollkästchen bauen ,dort per haken setzen die entsprechenden einträge selektieren und dann alles auf einmal abfeuern.
"Wie verwendet man denn so einen Shuttle? Muss man das Teil irgendwie per Skript befüllen?"
ja, in den optionen der items, hier shuttle, kann man wertelisten definieren, dynamisch oder statisch oder sonstwie sql loslassen.
"Bei Punkt 4) wird ein "NEW"-Button erstellt. Aber wo und wie wird denn da ein neuer Datensatz erzeugt??? "
steht ganz oben dort:
walked through the "Form on a Table with Report" wizard to create two pages - one report listing records from a table, which then linked to a form page allowing edits on that table...
er nimmt also form mit report. über asstistenten sind das 2 seiten. die will er kombinieren zu einer seite und schreibt:erst asstistenten benutzen, dann
am besten die report region auf die seite bringen wo die form liegt und dann anpassen. er beschreibt die anpassung. fotos sind auch richtig, die vorletzten beiden zeigen es dann:
das obere zeigt den ruhezustand.gibt dort 2 möglichkeiten:
entweder new klicken oder in den datensatz rein per spaltenlinkklick.
was dann passiert sieht man auf dem foto dadrunter:
region employees ist aufgegangen , (war vorher versteckt), new button verschwunden (richtig). er hat auf smith in der region employee list geklickt,
ansonsten würde oben bei employees (gleiches foto) ja alles leer sein. dann hätte er den new button benutzt.
g/c