Domino 9 und frühere Versionen > ND8: Entwicklung - XPages

Markierte CheckBoxen in XPages auslesen

(1/2) > >>

AleX_-_:
Hallo zusammen,
ich habe folgende Problemstellung bei XPages:
In einem 'RepeatControl' habe ich eine 'CheckBox' integriert, wie bekomme ich programmiertechnisch raus welche 'CheckBox' markiert ist  ??? ?

Ich hoffe ihr könnt mir weiterhelfen

MFG AleX

xpagesnewbie:
Hi,
Ich habe das mit einer SessionScope gelöst.

Als CollectionName in der RepeatControl habe ich rowData gewählt.
In der SessionScope selectedDocs werden die UniversalIDs der selektierten  Dokumente gespeichert.

Im onClick-Event der Checkbox (serverseitig) wird über rowData die ID des Dokuments ausgelesen und überprüft, ob sich in der SessionScope.selectedDocs bereits die ID befindet. Falls ja --> ID aus SessionScope entfernen, andernfalls hinzufügen.
Code im onClick-Event:

var thisunid=rowData.getDocument().getUniversalID();
var selected = sessionScope.selectedDocs;
if (sessionScope.selectedDocs !=null ){
    var newval=@If(@Contains(selected, thisunid),  @ReplaceSubstring(selected, thisunid+";",""),selected+thisunid+";");
    }else{
      newval = thisunid+";";}
//sessionScope.selectedDocs=@Implode(@Trim(@Explode(newval,";")),";");
sessionScope.selectedDocs= newval;

Unter checked by default in der CheckBox folgender Code:

var thisunid=rowData.getDocument().getUniversalID();
var selected=sessionScope.selectedDocs;
@If(@Contains(selected, thisunid), true, false);

Falls Du eine elegantere Lösung findest, wäre ich sehr interessiert

MarkusH:
Moin Forum.

Ich kram den alten Fred mal wieder raus, weil mein Problem eigentlich das gleiche ist.

Mit XPages beschäftige ich mich erst seit ein paar Tagen. Ich habe eine View deren letzte Spalte als Checkbox angezeigt wird. Nun soll der Anwender beliebige Checkbox anhake dürfen und dieses auswahl möchte ich dann speichern.

Die eingebunden View ist aber einer anderen Datenquelle entnommen. Das heißt dass die markierten Checkboxen letzenlich in einem neuem Dokument mit einen anderen Datenquelle gespeichert werden.

Mit den vom "xpagesnewbie" geposteten Code komme ich da irgenwie nicht weiter. Gibt es eine "einfachere" Möglichkeit?

Gruß
Markus

eknori (retired):
Unter der Vorgabe, daß dein ViewPanel viewPanel1 heisst:


--- Code: ---var vp:com.ibm.xsp.component.xp.XspViewPanel = getComponent("viewPanel1");
sessionScope.selDocs = vp.getSelectedIds();
--- Ende Code ---

MarkusH:
Danke eknori.

 :) Ich sagte ja schon, dass ich mich mit XPages erst ein paar Tage beschäftige.

Mein View heißt "viewPanel1".

Ich habe dein Code in ein "berechnetes Feld" unter "Werte" - "JavaScript" hinterlegt.
Im Browser zeigt das Feld aber nur "[Ljava.lang.String;@69166916" an.

Kannst Du mir ein bisschen mehr Details geben.

Danke und Gruß
Markus

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln