次の方法で共有


コード スニペット: フィルターが関連付けられているパラメーターの種類を判定する

最終更新日: 2010年5月6日

適用対象: SharePoint Server 2010

この記事の内容
説明
前提条件
この例を使用するには

説明

次のコード例は、BDC オブジェクト モデルを使用してフィルターに関連付けられているパラメーターの型を取得する方法を示しています。

このコード例は、クライアント サブスクリプション ファイルにフィルターの種類を提供するときに特に役立ちます。外部リスト表示用の 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 つのソリューション。

この例を使用するには

  1. クライアント コンピューターで Visual Studio を開始し、次に新しい C# Office アプリケーション アドイン プロジェクトを作成します。プロジェクトを作成するときに、[.NET Framework 3.5] を選択します。

  2. [表示] メニューから、[プロパティ ページ] をクリックしてプロジェクト プロパティを表示します。

  3. [ビルド] タブから、[プラットフォーム ターゲット] で、[Any CPU] を選択します。

  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()