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

mehrere Parameter als Kriterium unter "Filtern nach Spaltenwert"

(1/2) > >>

magic_online:
ich habe ein Suchfeld, "inputText2" mit der Variablenname = "nameToSearch" und berechnet:
 "sessionScope.nameToSearch";


--- Code: ---<xp:inputText id="inputText2" style="width:397.0px"
value="#{sessionScope.nameToSearch}">
<xp:typeAhead mode="full" minChars="1">
<xp:this.valueList><![CDATA[#{javascript:@DbLookup(@DbName(), "vwCatWeb", sessionScope.userName, 2);}]]></xp:this.valueList>
</xp:typeAhead>
</xp:inputText>
--- Ende Code ---

In der gesuchten Ansicht trage ich unter "Filtern nach Spaltenwert" mein Parameter "sessionScope.nameToSearch" und bekomme auch entsprechend die gesuchten Daten.


--- Code: --- <xp:viewPanel rows="30" id="viewPanel1"
var="detailrowresults">
<xp:this.facets>
<xp:pager partialRefresh="true"
layout="Previous Group Next" xp:key="headerPager" id="pager1">
</xp:pager>
</xp:this.facets>
<xp:this.data>
<xp:dominoView var="view1" viewName="vwFileWebSearch"
keysExactMatch="true">
<xp:this.keys><![CDATA[#{javascript:try {

if (sessionScope.nameToSearch!=""){
[color=red]sessionScope.nameToSearch[/color]
}else{
"000000"
}


} catch (e) {
return e.toString();
}




}]]></xp:this.keys>
</xp:dominoView>
</xp:this.data>
<xp:viewColumn id="viewColumn1" columnName="Materialname">

<xp:viewColumnHeader id="viewColumnHeader1"
value="Materialnummer">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="$9" id="viewColumn2">
<xp:viewColumnHeader value="FILE"
id="viewColumnHeader2">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="$7" id="viewColumn3">
<xp:viewColumnHeader value="COVER"
id="viewColumnHeader3">
</xp:viewColumnHeader>
</xp:viewColumn>
</xp:viewPanel>

--- Ende Code ---

Nun, die Daten sollen gefiltert AUCH nach dem User, also cgi.REMOTE_USER. Wenn ich in der "Filtern nach Spaltenwert" mehrere Keys verwenden will, bekomme ich fehler, bzw. keine Daten!!!
Vielleicht hat jemand schon damit Erfahrung und mir einen Tip geben kann!!
Vielen Dank!

Sven Hasselbach:
Mehrere Keys lassen sich z.B. mit einem Vector angeben:


--- Code: ---<xp:this.keys>
   <![CDATA[#{javascript:
      var v = new java.util.Vector();
      v.add("Spalte1");
      v.add("Spalte2");
      v
   }]]>
</xp:this.keys>

--- Ende Code ---

Jeder Eintrag steht dabei für eine Spalte, d.h. Ansicht muss dafür entsprechend vorbereitet sein.

magic_online:
GENIAL! GENIAL!  :knuddel:

ich habe also 2 Spalten erstellt, sortiert: in der ersten soll eine Nummer gesucht werden (in Dok. unter Feld "Nummer"), in der anderen sollen NUR die User eingetragen werden, die die Dokumente lesen dürfen (in Dok. in dem Feld "User").
Hat der angemeldete user AUCH Leserechte für das Dok., das die Nr. enthält (ist er im Feld "User" eingetragen!), kann er im Web das Dok. sehen.
Mein Problem war, die Spalte mit den Usern war in der Ansicht in der letzte Stelle, ungefähr 4 oder 5.
Jetzt habe ich Spalte 1 = Nummer, Spalte 2 = User, und die Spalte 2 habe ich auf "unsichtbar" gesetzt!
Meine Suche funktioniert einwandfrei!!!

Peter Klett:
Wieso konnte der User vorher das Dokument sehen, wenn er nicht im User-Feld enthalten war? Arbeitest Du nicht mit Leserfeldern? Da hättest Du die Zugriffssicherheit von Notes geregelt.

Aber vielleicht habe ich das auch falsch verstanden

magic_online:
Also, die Dokumente sollen innerhalb einer Woche (oder mehrere!) geändert werden (inhaltlich!). Das führt dazu, dass die Rechte sich auch ändern, je nach dem, was in Inhalt steht. Aus diesem Grund, habe ich ein Feld erstellt, in dem die User aus der ACL eingetragen sind! Somit kann ich flexibel die User ändern!!! Natürlich, sollen diese User in Web die Inhalte sehen! Bei der Suche nach bestimmten Dokumente, wenn nicht geregelt welche User, was sehen dürfen, bekommen sie alle Dok. aus der Ansicht! Deswegen, mit der "Filtern nach Spaltenwert" !!!

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln