0

チェックボックス リスト (複数選択) などのコントロールにデータを含む検索フォームがあります。テキスト ボックスでは、SharePoint リストで値を検索し、リスト レコードをグリッド ビューに表示する必要があります。

動的な検索クエリの書き方を教えてください。例: 1 つのテキスト ボックスで値が選択されていない場合..クエリに含める必要はありません。

4

2 に答える 2

1

SPMetal を実行して静的オブジェクトを生成し、LINQ を使用してリストをクエリできます。

  1. http://msdn.microsoft.com/en-us/library/ee538255%28v=office.14%29.aspx
  2. http://zimmergren.net/technical/sp-2010-getting-started-with-linq-to-sharepoint-in-sharepoint-2010

または、古くて効果的な 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 クエリを使用すると、深刻なパフォーマンスの問題が発生する可能性があるためです。

于 2013-10-03T11:53:48.550 に答える
0

StringBuilder を使用してクエリを動的に形成します。

if (!(String.IsNullOrEmpty(implanter)))
{
      query[querycount] = "<In><FieldRef Name='Implanter' /><Values>" + implanter + "</Value></In>";
                            querycount++;
}
于 2014-09-15T11:40:15.713 に答える