Поделиться через


Фрагмент кода. Определение типа параметра, с которым связан фильтр

Дата последнего изменения: 6 мая 2010 г.

Применимо к: SharePoint Server 2010

В этой статье
Описание
Необходимые компоненты
Использование этого примера

Описание

В следующем примере кода показано, как получить тип параметра, с которым связан фильтр, с помощью объектной модели подключения к бизнес-данным.

Этот пример кода полезен, если требуется предоставить тип фильтра в файле подписки клиента. В файле view.xml для представлений внешних списков есть тег <Method>, который сообщает о том, к какому методу он привязан. В этом теге могут содержаться теги фильтра, описывающие фильтр. Следующий пример кода можно использовать с методом и именем фильтра из файла view.xml для определения типа параметра, с которым связан фильтр.

Необходимые компоненты

  • Microsoft SharePoint Server 2010 или Microsoft SharePoint Foundation 2010 на сервере.

  • Microsoft Office 2010 и Microsoft .NET Framework 3.5 на клиентском компьютере.

  • Microsoft Visual Studio.

  • По крайней мере одно решение развернуто в клиентском кэше BCS.

Использование этого примера

  1. Запустите Visual Studio на клиентском компьютере и создайте новый проект надстройки для приложения C# Office. При создании проекта выберите .NET Framework 3.5.

  2. В меню Вид выберите Страницы свойств, чтобы вывести свойства проекта.

  3. На вкладке Построение в качестве Целевой платформы выберите Любой ЦП.

  4. Закройте окно свойств проекта

  5. В обозревателе решений в разделе Ссылки удалите все ссылки проекта кроме System и System.Core.

  6. Добавьте в проект следующие ссылки:

    1. Microsoft.Office.BusinessApplications.Runtime

    2. Microsoft.BusinessData

      System.Windows.Forms

  7. Замените имеющиеся операторы using следующими операторами:

    using System;
    using Microsoft.BusinessData.MetadataModel;
    using Microsoft.Office.BusinessData.MetadataModel;
    using Microsoft.BusinessData.Runtime;
    using System.Windows.Forms;
    
  8. Замените код в событии запуска надстройки кодом, приведенным в конце этой процедуры.

  9. Замените значения nameSpace, entityName, methodName и filterName на допустимые значения.

  10. Сохраните проект.

  11. Скомпилируйте и запустите проект.

 RemoteSharedFileBackedMetadataCatalog remoteCatalog = new RemoteSharedFileBackedMetadataCatalog();
 IEntity entity = remoteCatalog.GetEntity("<nameSpace>", "<entityName>");
 string methodName = <methodName>; // Name of the method from view.xml 
 string filterName = <filterName>; // Name of the filter from view.xml

IMethodInstance mi = entity.GetMethodInstance(methodName, MethodInstanceType.Finder);
IFilterCollection viewFilters = mi.GetFilters();
IUserInputFilter filter = entity.Catalog.Helper.GetUserInputFilterByName(viewFilters, filterName);
Type filterType = filter.GetValueType();
MessageBox.Show(filterType.ToString());

См. также

Ссылка

RemoteSharedFileBackedMetadataCatalog

GetEntity(String, String)

IEntity

GetMethodInstance(String, MethodInstanceType)

IMethodInstance

GetFilters()

IFilterCollection

IUserInputFilter

GetValueType()