Potsmoker hatte hierfür den wohl besten Ansatz genannt.
Du schreibst in den JSHeader der Page, in der du die view vermutlich eingebettet hast eine function.
function openDialogWindow(String docUnidId) {
der javaScriptCode....
}
Nein. Nein. Nein.
Problem ist, dass du dann keine Formeln verwenden kannst. Z.B. für das voll korrekte: _dbname := @ReplaceSubstring (@Subset (@DbName; -1); "\\"; "/");
und die entsprechenden Werte hartkodieren müßtest (schlechte Idee).
Deshalb empfehle ich die View in einer Maske zu embedden und das entsprechende JavaScript in HtmlHead abzulegen (muss dann <script></script> tag drum!
Aus deinen Links kannst du das dann aufrufen:
Die müsstest du dann so in der Art aufbauen.
<a href=\"javaScript:openDialogWindow(" + docUnid + ")\">A link to click<</a>
Gib mal in die Browseradressbox das folgende ein:
javascript:alert("hallo");
Dann dürfte das klarer sein.
Ich hoffe es hilft dir weiter. Ist ein bischen fricklig.
Gruß Axel
ps morgen hast du das Problem: Wie aktiviere ich das dialogfenster, wenn es einmal hinter das Hauptfenster gerutscht ist. ;D
Ok ich hab das verstanden werde es aber erst morgen realisieren und test können. Nur wie mach ich das ganze:
?OpenView&Start=1&Count=60&Expand=4#4
dynamisch wenn ich eine neue Kategorie dazu bekomme? Oder ist die Frage nicht relevant weil er das eh automatisch macht?
Das geht schon. Mit Applets hast du wieder andere Probleme (zu langsam, teilweise instabil, etc.).
Sobald du mit Kategorien arbeitest, musst du auf die alte 4.6 er Technik der Templates zurückgreifen. Das ist weil die kategorie-Links auf die view selbst referenzieren und nicht auf die page/form, wo du die view embedded hast.
Schau mal nach $$ViewTemplate in der Hilfe.
Eine Maske $$ViewTemplate for ViewName
Dort wo die view hinkommt ein Feld $$ViewBody.
In der Formel kannst du mit @DocNumber arbeiten.
so in der Art
"<a href=\"/" + dbPath + "/" + viewname + "?openView&Start=1&Count=1000&Expand=" + @DocNumber + "#" + @DocNumber + "\">link</a>"