SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

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

bewertet von 0 Usern
Beantwortet Dieser Beitrag hat 1 Geprüfte Antwort | 6 Antworten | 2 Followers

Top-200-Beitragsschreiber
66 Beiträge
AndyBy erstellt in 24 Jul 2018 13:48

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 

Beantwortet Geprüfte Antwort

Top-10-Beitragsschreiber
18.829 Beiträge

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

Alle Antworten

Top-25-Beitragsschreiber
426 Beiträge

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

Top-200-Beitragsschreiber
66 Beiträge

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

Top-10-Beitragsschreiber
18.829 Beiträge

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
Top-200-Beitragsschreiber
66 Beiträge

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

 

Top-200-Beitragsschreiber
66 Beiträge

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

Top-10-Beitragsschreiber
18.829 Beiträge

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
Seite 1 von 1 (7 Elemente) | RSS