استخدام المرشحات Filters مع أنواع المحتويات الخارجية أمر ضروري في معظم الحالات حيث في معظم الحالات يجب البحث ضمن بيانات نوع المحتوى الخارجي, أو عرض البيانات مقسمة إلى صفحات أو عرض عدد محدد من البيانات, وبشكل عام يمكن اعتبار استخدام المرشحات Filters هو تأمين طريقة للبحث عن البيانات وعرضها بأسهل وأسرع طريقة. وسيتم شرح جميع أنواع المرشحات Filters ضمن عدة مقالات تفصيلية.

مرشح المقارنة Comparison Filter
مرشح المقارنة Comparison Filter يعني توفير طريقة للمقارنة بين قيمتين, القيمة الأولى يتم إدخالها من قبل المستخدم والقيمة الثانية مخزنة في مصدر البيانات وفي مثالنا مخزنة في قاعدة بيانات MS SQL Server. وأنواع المقارنات المتوفرة هي:
  • Equals, ويعني قيمة تساوي قيمة أخرى.
  • Not Equal, ويعني قيمة لا تساوي قيمة أخرى.
  • Less Than, ويعني أن القيمة المخزنة في مصدر البيانات أصغر من القيمة المُدخلة من قبل المستخدم.
  • Greater Than, ويعني أن القيمة المخزنة في مصدر البيانات أكبر من القيمة المُدخلة من قبل المستخدم.
  • Less Than or Equals, ويعني أن القيمة المخزنة في مصدر البيانات أصغر أو تساوي القيمة المُدخلة من قبل المستخدم.
  • Greater Than or Equals, ويعني أن القيمة المخزنة في مصدر البيانات أكبر أو تساوي القيمة المُدخلة من قبل المستخدم.

ملاحظة: يمكن إضافة مرشح Filter المقارنة لأي نوع من البيانات لكن يجب على المطور الجيد الانتباه إلى أن إضافة بعض أنواع المقارنات لبعض أنواع البيانات غير مجدي, مثلاً لا معنى لإضافة مرشح مقارنة Less Than (أصغر من) لقيمة نصية, حيث سيعمل المرشح بالشكل الصحيح ولكن لا استخدام حقيقي له.
في الخطوات التالية سيتم إضافة مرشح مقارنة بالاعتماد على نوع المحتويات الخارجي SharePoint4ArabECT الذي يعتمد على الجدول Employees. وسيتم استخدام SharePoint Designer 2010 لتنفيذ هذه الخطوات, حيث سيتم في الخطوات التالي إضافة مرشح مقارنة لرقم الموظف EmployeeID:

















  • New Filter: هو اسم للمرشح ويفضل استخدام اسم يعبر بشكل واضح عن وظيفة المرشح.
  • Filter Type: هو نوع المرشح الذي سيتم استخدامه وهنا اخترنا مرشح المقارنة Comparison.
  • Operator: ويظهر هذا الحقل فقط مع مرشح المقارنة Comparison, وهنا اخترنا Equals والذي يعني أن القيمة المدخلة من قبل المستخدم يجب أن تتساوى مع القيمة المخزنة في مصدر البيانات لكي تظهر نتائج في البحث.
  • Filter Field: اسم الحقل الذي ستطبق عليه شروط المقارنة, وهنا تم اختيار الحقل EmployeeID.
  • Ignore filter if Value is: ويفيد هذا الخيار بتجاهل القيمة التي يدخلها المستخدم وعدم أخذها بعين الاعتبار عن تنفيذ عملية البحث, وتوفر ما يلي:
  • Null: أي لا يتم تطبيق مرشح المقارنة في حال أن المستخدم لم يدخل أي قيمة.
  • Custom value: يتم تجاهل القيمة التي أدخلها المستخدم ولا تدخل في عملية البحث في حال أنها تساوي قيمة ما, فمثلاً يمكن تحديد القيمة "1" لكي يتم تجاهل القيمة المدخلة من قبل المستخدم في حال أنها تساوي "1".
  • Is Default: في حال تحديد هذا الخيار فإن المرشح الذي يتم إنشاؤه الآن يكون المرشح الافتراضي الذي يظهر للمستخدم أثناء تنفيذ عملية البحث, ولا يمكن تحديد أكثر من مرشح افتراضي, وفي حال تحديد أكثر من مرشح افتراضي سيظهر خطأ عند محاول استخدام أي شاشة تحتوي على هذه المرشحات, علماً أن SharePoint Designer 2010 لا يمنعك من تحديد أكثر من مرشح على أنه افتراضي.
  • Use to create match list in external item picker: هذا الخيار يعني محاولة إظهار نتائج تتطابق مع البيانات المدخلة من قبل المستخدم للبحث حتى لو أن هذا التطابق ليس دقيق 100%. وغالباً ما يُستخدم هذا الخيار مع الحقول النصية.
بعد تنفيذ الخطوات السابقة نكون قد أضفنا مرشح مقارنة للبحث باستخدام رقم الموظف EmployeeID والآن أكمل الخطوات التالية:


تم إعطاء القيمة 0 للحقل Default Value وذلك لكي لا يتم عرض جميع المعلومات المخزنة في مصدر البيانات وهو الجدول Employees في مثالنا.


ملاحظة: بالنسبة للخيار Show In Picker, يعني إظهار الحقل أو لا في شاشة البحث عن السجلات في مصدر البيانات, ويُفضل اختيار الحقول التي تريد عرضها, لأنه في حال عدم اختيار أي حقل فإن شيربوينت يعرض جميع الحقول المتوفرة وهذا قد يؤدي إلى عرض عدد كبير غير مرغوب به بالنسبة للمستخدم.
بعد الانتهاء من تنفيذ الخطوات السابقة يمكن تجريب المرشح الذي تم إنشاؤه من خلال إما قائمة تعتمد على نوع المحتوى الخارجي SharePoint4ArabECT_Tasks أو باستخدام جزء الويب "عنصر بيانات الأعمال":


يتم إدخال رقم الموظف ومن ثم الضغط على زر البحث, حيث يتم البحث عن السجل الذي قيمة الحقل EmployeeID هي ذاتها القيمة المدخلة في حقل البحث. وقد استخدمنا المعامل Equals لهذا المرشح, علماً أنه يمكن أيضاً استخدام أنواع أخرى من المعاملات مثل "أكبر من Greater Than" وغيرها.