Autor Thema: Markierte CheckBoxen in XPages auslesen  (Gelesen 6228 mal)

Offline AleX_-_

  • Aktives Mitglied
  • ***
  • Beiträge: 133
  • Geschlecht: Männlich
Markierte CheckBoxen in XPages auslesen
« am: 20.12.10 - 16:10:56 »
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
« Letzte Änderung: 21.12.10 - 14:44:22 von AleX_-_ »

Offline xpagesnewbie

  • Frischling
  • *
  • Beiträge: 1
Re: Markierte CheckBoxen in XPages auslesen
« Antwort #1 am: 12.01.11 - 11:32:12 »
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
« Letzte Änderung: 12.01.11 - 11:38:32 von xpagesnewbie »

Offline MarkusH

  • Frischling
  • *
  • Beiträge: 23
  • Ich liebe dieses Forum!
Re: Markierte CheckBoxen in XPages auslesen
« Antwort #2 am: 26.09.12 - 10:49:31 »
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

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.710
  • Geschlecht: Männlich
Re: Markierte CheckBoxen in XPages auslesen
« Antwort #3 am: 26.09.12 - 10:54:11 »
Unter der Vorgabe, daß dein ViewPanel viewPanel1 heisst:

Code
var vp:com.ibm.xsp.component.xp.XspViewPanel = getComponent("viewPanel1");
sessionScope.selDocs = vp.getSelectedIds();
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline MarkusH

  • Frischling
  • *
  • Beiträge: 23
  • Ich liebe dieses Forum!
Re: Markierte CheckBoxen in XPages auslesen
« Antwort #4 am: 26.09.12 - 11:15:56 »
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


Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.710
  • Geschlecht: Männlich
Re: Markierte CheckBoxen in XPages auslesen
« Antwort #5 am: 26.09.12 - 11:32:01 »
Der Rückgabewert ist ein Array; dass musst du dann durchlaufen, um die einzelnen Werte zu bekommen.

Zum Anzeigen sollte es
Code
sessionScope.selDocs = vp.getSelectedIds().toString()
tun

Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline MarkusH

  • Frischling
  • *
  • Beiträge: 23
  • Ich liebe dieses Forum!
Re: Markierte CheckBoxen in XPages auslesen
« Antwort #6 am: 26.09.12 - 12:23:49 »
Mhm, bin wohl zu blöd.

Ich habe jetzt ein Eingabe-Feld mit der Datenquelle "document1" an das NotesFeld "VORHANDEN" gebunden.

Den Vorgabewert lasse ich mit deinem Code berechnen.

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


/* das hier habe ich dann noch drann gebastelt */

for(var i = 1; i <= @Elements(sessionScope.selDocs); i++) {
   @Element(sessionScope.selDocs, i);
}

/* ende  der bastelei */

Aber weder im Browser noch nach dem Speichern finde ich meine markierten Checkboxen in Notes.

Wie spreche ich denn das Array-Element (in meinem Fall die letzte Spalte) an?

Ich muss doch irgndwie "sessionScope.selDocs" sagen, dass ich die letzte Spalte auslesen will, oder?

Gruß
Markus

Offline MarkusH

  • Frischling
  • *
  • Beiträge: 23
  • Ich liebe dieses Forum!
Re: Markierte CheckBoxen in XPages auslesen
« Antwort #7 am: 02.10.12 - 12:09:28 »
Habe es jetzt ganz anders gelöst, Checkbox wird jetzt als Feldvorgabe-Wert vorbelegt, also ohne eingebettete Ansicht.

Prakmatische Lösung :-)

Gruß
Markus


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz