2012-04-05 5 views
0

HINTERGRUND:Filter externe Listenfelder vom Client

Wir eine benutzerdefinierte Anwendung zu entwickeln, die Sharepoint durch das Clientobjektmodell zugreifen und diese Anwendung benötigt ECT (externer Inhaltstyp) Listen in Sharepoint definiert, um das OM mit (Objektmodell). Diese Anwendung ist ein Produkt, das mit den meisten SharePoint-Installationen und -Konfigurationen verwendet werden kann und keine Vorkenntnisse in externen Listen haben kann.

Wenn für den ECT keine Filter eingerichtet sind, gibt SharePoint alle verfügbaren Elemente in der Liste zurück (vorausgesetzt, die Anzahl liegt unter dem Schwellenwert). In dem Moment, in dem wir einen Filter für diese ECT definieren, gibt SharePoint nur die Elemente zurück, nachdem dieser Filter angewendet wurde (wahrscheinlich korrektes Verhalten von SP).

PROBLEM:

Wir brauchen diese ECT-Liste in der Lage sein (nicht gefiltert) von einem Benutzer in ein Suchfeld eingegeben basierend auf Text zu suchen. Im Moment scheint es keine Möglichkeit zu geben, den Filter SharePoint zu ändern, der angewendet wird, wenn die Werte an das aufrufende Objekt zurückgegeben werden.

I.e. Ich habe 10 Artikel in meiner ECT-Liste (1,2,3 ... 10). Jeder Artikel hat 3 Spalten (ID, Name, Beschreibung). Nachdem Sie einen Filter für die EZT-Liste eingerichtet haben, geben SharePoint Elemente zurück 2, 3 & 6, wenn ich SharePoint nach einer Liste von Elementen frage.

Nein der Benutzer sucht die Übereinstimmung der Beschreibung von Element 7. Wie kann ich die Liste durchsuchen/filtern, um das Element zurückzugeben, das meiner Suchanfrage entspricht?

Ich habe im Kreis laufen versucht, dies zu lösen, aber nichts scheint zu funktionieren. Ich habe versucht, die CAML-Abfrage sowie die LoadQuery wie in http://pholpar.wordpress.com/2011/02/09/how-to-query-external-lists-on-the-client-side-using-caml/ und http://msdn.microsoft.com/en-us/library/ff464384.aspx definiert, aber nichts scheint zu funktionieren.

Antwort

1

Auch ich hatte dieses Problem. Lass mich dir sagen, dass es keine Möglichkeit gibt, dies zu tun. Selbst im Server-Objektmodell gab es eine Option zum Ändern der Filter der Standardansicht, aber die SPList gibt 0 Elemente zurück, sobald der Filter angewendet wurde. Der lustige Teil ist, sobald Ihr Code & Sie die Liste in SP UI öffnen, können Sie die tatsächliche Liste ändern. Das Gleiche können jedoch keine Abfragen im Objektmodell sein.

Sieht seltsam aus. Ich denke, wenn Sie die SPList (ECT-basierte) in diesem Fall ändern, dann können Sie nur Ergebnisse in der nächsten Instanz erhalten (wie in der nächsten Seite aktualisieren .....)