チェックボックス リスト (複数選択) などのコントロールにデータを含む検索フォームがあります。テキスト ボックスでは、SharePoint リストで値を検索し、リスト レコードをグリッド ビューに表示する必要があります。
動的な検索クエリの書き方を教えてください。例: 1 つのテキスト ボックスで値が選択されていない場合..クエリに含める必要はありません。
チェックボックス リスト (複数選択) などのコントロールにデータを含む検索フォームがあります。テキスト ボックスでは、SharePoint リストで値を検索し、リスト レコードをグリッド ビューに表示する必要があります。
動的な検索クエリの書き方を教えてください。例: 1 つのテキスト ボックスで値が選択されていない場合..クエリに含める必要はありません。
SPMetal を実行して静的オブジェクトを生成し、LINQ を使用してリストをクエリできます。
または、古くて効果的な CAML クエリを使用するだけです
SPQuery oQuery = new SPQuery();
oQuery.Query = "<Where><Eq><FieldRef Name='YourField'/>" +
"<Value Type='Text'>Insert value to search here</Value></Eq></Where>";
SPListItemCollection collListItems = oList.GetItems(oQuery);
単純な linq クエリで
var results = MySPList.Items.Cast<SPListItem>()
.Where(SPItem => SPItem["YourField"] == "Your query");
ただし、linq クエリを頻繁に使用する予定がある場合は、spmetal を実行することをお勧めします。splist でそのまま linq クエリを使用すると、深刻なパフォーマンスの問題が発生する可能性があるためです。
StringBuilder を使用してクエリを動的に形成します。
if (!(String.IsNullOrEmpty(implanter)))
{
query[querycount] = "<In><FieldRef Name='Implanter' /><Values>" + implanter + "</Value></In>";
querycount++;
}