我有一個搜索表單,其中包含像複選框列表(多選),文本框 控件中的數據我需要在SharePoint列表中搜索值並在網格視圖中顯示列表記錄。使用StringBuilder創建動態搜索查詢
請教我如何編寫動態搜索查詢。 例如:如果在一個文本框中沒有選擇任何值,我不需要將它包含在查詢中。
我有一個搜索表單,其中包含像複選框列表(多選),文本框 控件中的數據我需要在SharePoint列表中搜索值並在網格視圖中顯示列表記錄。使用StringBuilder創建動態搜索查詢
請教我如何編寫動態搜索查詢。 例如:如果在一個文本框中沒有選擇任何值,我不需要將它包含在查詢中。
使用StringBuilder動態地形成查詢。
if (!(String.IsNullOrEmpty(implanter)))
{
query[querycount] = "<In><FieldRef Name='Implanter' /><Values>" + implanter + "</Value></In>";
querycount++;
}
您可以運行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");
但是,運行spmetal是,如果你打算經常使用LINQ查詢,去,因爲使用上splists直LINQ查詢可能會導致對嚴重的性能問題的方式。
使用Lambda表達式爲上述問題提出解決方案 – user2831167