SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Ich habe eine Idee, weis aber nicht ob diese so umsetzbar ist.

Geprüfte Antwort Dieser Beitrag hat 6 Antworten

Ohne Rang
66 Beiträge
AndyBy erstellt 24 Juli 2018 13:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Community,

Ausgangssituation:

Ich habe mir eine Liste mit mehreren Spalten erstellt. Beim anlegen eines neuen Elements wird ja auch die Spalte Create/Erstellt mit Datum und Uhrzeit angelegt.

Ich habe ein paar Nutzer (3 Etagen über mir :-) sie möchten gern die Elemente nach folgenden Kriterien durchsuchen.

Vor Datum X(Eingabe)                                                                                                                                       Nach Datum X(Eingabe)                                                                                                                                     Zwischen Datum X & Y(Eingabe)

Die Liste ist als Webpart auf einer aspx-Seite eingebunden.

Mein Gedanke:

Ich erstelle auf der aspx-Seite folgende Reihenfolge im Bereich Seiteninhalt

Textfeld(Datum X) Auswahl(<,>,zwischen) Textfeld(Datum Y) Button(Anzeigen)

Und jetzt soll per Script das Datumsfeld mit den Einschränkungen auf die Liste angewendet werden und die Ansicht der Liste geändert werden. 

Jetzt meine Frage bevor ich die Zeit dafür aufwende: Ist dies technisch von der Umsetzung überhaupt möglich?

Und wenn ja mit welcher Scrip Sprache und ein kleines Beispiel dazu wäre schön ;-)

Vorab vielen Dank

AndyBy 

Alle Antworten

Ohne Rang
496 Beiträge
Derby Als Antwort am 24 Juli 2018 14:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hast Du SharePoint Enterprise? Wenn ja schau Dir mal die Fitler-Webparts an. Vieleicht kommst damit weiter. Javascript habsch kein Plan. :)

Ohne Rang
66 Beiträge
AndyBy Als Antwort am 24 Juli 2018 14:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Derby,

nein leider hat das Unternehmen die Foundation und programmiert alles selber. Ich soll jetzt mit so viel wie möglich Clientseitig entwickeln und dazu halt auch noch mit JavaScript, PHP und C# das so nah wie möglich an das eigene geschriebene angleichen.

Aber danke für die rasche Antwort 

Viele Grüße 

AndyBy

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Juli 2018 15:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Man kann das schon mit JavaSCript machen. Also die notwendigen Eingabefelder erzeugen und dann per CAML-Query die Elemente aus der Liste holen und darstellen. Wenn man das zum ersten Mal macht, ist es nicht ganz einfach. Aber wenn Du das noch häufiger brauchst...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
66 Beiträge
AndyBy Als Antwort am 25 Juli 2018 14:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Andi du machst mich fertig :) 

Habe mir CALM angeschaut. Und ich muss sagen das es noch Zeit kosten wird bis ich das umsetzten kann. Ich muss erst mal mir das heraussuchen wie ich die einzelnen Felder außerhalb der Liste kombiniere und dann durch CALM in der Liste suchen lasse. Und in der Ausgabe soll ja noch die Bearbeitung möglich sein. Aber das ist der Weg den ich gesucht habe :-) 

Danke

Kann ich beim <FieldRef Name='FeldID'> als Name auch die ID des Feld eintragen?

Viele Grüße

AndyBy

 

Ohne Rang
66 Beiträge
AndyBy Als Antwort am 30 Juli 2018 12:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,

ich habe mir die CALM-Query angeschaut und habe bemerkt das ich mit ihnen die gewünschte Elemente anzeigen lassen kann. Dabei habe ich noch nicht gelesen das ich die Elemente modifizieren und anschließend in der Liste aktualisieren kann. Habe ich das nur überlesen? Ich hätte dir ja gern ein Bild angehängt, aber irgendwie möchte die Site keine Bilder von mir zulassen :-) Ich versuche es mal so grafisch darzustellen.

Datum1   Operator   Datum2  Button

Element1

Element 2 ...

Im Feld Datum1 gebe ich das Datum ein von dem ich bei meiner Suche ausgehe. Der Operator zeigt an ob < oder > des Datum1 gefiltert werden soll. Datum2 gebe ich an wenn der Operator auf zwischen steht. Mit dem Click auf den Button sortiert sich entweder die Liste neu so das alle gewünschte Elemente oben sind, oder es öffnet sich eine Form in der alle gewünschte Elemente aufgelistet sind und ich von dort in den Bearbeitungsmodus des Element gelangen kann.

Da CALM-Query, zumindest habe ich nicht gelesen das dieser vorhanden ist, kein Container hat in dem er die Daten zur Vorhalte einlegen kann. Habe ich mir den call web service rest mit c# angeschaut. In dem habe ich ein Container mit Daten die ich erst modifizieren kann und anschließend wieder in die Liste eintragen lassen kann.

Kannst du mir sagen ob ich das richtig verstanden habe mit dem Web Call und ob dieser dann besser für mein Vorhaben geeignet ist? Oder ob ich bei der CALM-Query was überlesen habe und dies mit CAL-Query auch möglich ist?

Ich danke dir und allen anderen für ihren Rat

Bis dahin

AndyBy

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 31 Juli 2018 14:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wegen akutem Zeitmangel kann ich nur kurz das grundsätzliche Vorgehen beschreiben. Im Prinzip kannst Du das alles (HTML und JavaScript) in ein Script-Editor-Webpart packen oder Du lagerst den JS-Code in eine Datei aus und referenzierst die nur im Webpart.

Du brauchst einen Container, in den Du die Felder und den Button zum Auslösen packst. Und einen Container, in den dann die gefundenen Daten kommen. Gebe einfach allen Elementen eine eindeutige ID, dann kannst Du später per Code leicht darauf zugreifen (document.getElementById). Da reicht schon sowas:
<div id="myForm">
<!-- Eingabefelder und Button -->
</div>
<div id="myResults"></div>

Beim Klick auf den Button, baust Du aus den Eingaben die CAML-Query zusammen und sendest sie ab. Du bekommst eine ListItemCollection, die Du mit einer Schleife durchgehst und im unteren Container darstellst, z.B. als Tabelle.

PS: es heißt CAML :-)

PPS: das mit den Bildern hier ist ein echtes Problem. Du kannst sie entweder sonstwo hochladen und hier nur verlinken (als simplen Textlink) oder Du lädst sie hier in Deinem Profil hoch. Dann kannst Du sie über den Insert-Media auswählen und sie werden dann auch als Bild angezeigt.

Viele Grüße
Andi
af @ evocom de
Blog