コード スニペット: フィルターが関連付けられているパラメーターの種類を判定する
最終更新日: 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 つのソリューション。
この例を使用するには
クライアント コンピューターで Visual Studio を開始し、次に新しい C# Office アプリケーション アドイン プロジェクトを作成します。プロジェクトを作成するときに、[.NET Framework 3.5] を選択します。
[表示] メニューから、[プロパティ ページ] をクリックしてプロジェクト プロパティを表示します。
[ビルド] タブから、[プラットフォーム ターゲット] で、[Any CPU] を選択します。
プロジェクト プロパティ ウィンドウを閉じます。
[ソリューション エクスプローラー] の [参照設定] で、[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)