Фрагмент кода. Определение типа параметра, с которым связан фильтр
Дата последнего изменения: 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.
Использование этого примера
Запустите Visual Studio на клиентском компьютере и создайте новый проект надстройки для приложения C# Office. При создании проекта выберите .NET Framework 3.5.
В меню Вид выберите Страницы свойств, чтобы вывести свойства проекта.
На вкладке Построение в качестве Целевой платформы выберите Любой ЦП.
Закройте окно свойств проекта
В обозревателе решений в разделе Ссылки удалите все ссылки проекта кроме System и System.Core.
Добавьте в проект следующие ссылки:
Microsoft.Office.BusinessApplications.Runtime
Microsoft.BusinessData
System.Windows.Forms
Замените имеющиеся операторы using следующими операторами:
using System; using Microsoft.BusinessData.MetadataModel; using Microsoft.Office.BusinessData.MetadataModel; using Microsoft.BusinessData.Runtime; using System.Windows.Forms;
Замените код в событии запуска надстройки кодом, приведенным в конце этой процедуры.
Замените значения nameSpace, entityName, methodName и filterName на допустимые значения.
Сохраните проект.
Скомпилируйте и запустите проект.
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)