2016-07-22 30 views
1

我是新來的SharePoint。我有這個查詢:是否有可能通過使用CamlQuery的第一個字母獲取sharepoint名稱列表?

getAttendanceQuery.ViewXml = "<View><Query><Where><And><Eq><FieldRef Name='TypeEvent'/><Value Type='Text'>" + selectedChoice["TypeEvent"].ToString() + 
      "</Value></Eq><Eq><FieldRef Name='Date' /><Value Type='DateTime' IncludeTimeValue='FALSE'>" + xDate.ToString("yyyy-MM-dd") + "</Value></Eq></And></Where></Query></View>"; 

我需要添加一個條件來查詢姓氏的第一個字母;所以我可以拿回一個較小的名單。可能嗎?如何?

我改變了這個查詢,它沒有工作。我做錯了什麼? (我加x0020在提起的名字,因爲我在SharePoint中的空間)

"<View><Query><Where>" + 
    "<And>" + 
     "<Eq>" + 
      "<FieldRef Name='TypeEvent'/>" + 
      "<Value Type='Text'>" + selectedChoice["TypeEvent"].ToString() + "</Value>" + 
     "</Eq>" + 
     "<And>" + 
      "<Eq>" + 
       "<FieldRef Name='Date' />" + 
       "<Value Type='DateTime' IncludeTimeValue='FALSE'>" + xDate.ToString("yyyy-MM-dd") + "</Value>" + 
      "</Eq>" + 
      "<BeginsWith>" + 
       "<FieldRef Name='Last_x0020_Name' />" + 
       "<Value Type='Text'>"+ fletter +"</Value>" + 
      "</BeginsWith>" + 
     "</And>" + 
    "</And>" + 
"</Where></Query></View>"; 

回答

1

如果你想查詢「用戶或組」字段,然後沒有,沒有通過它沒有方法僅基於姓氏進行排序或過濾。

另一方面,如果您在單獨的文本字段中有姓,則可以在CAML查詢中使用<BeginsWith>元素。

你最終CAML查詢可能是這樣的:(更換LastNameFielddesiredLetter與相應的列名,並在必要的變量名)

"<View><Query><Where>" + 
    "<And>" + 
     "<Eq>" + 
      "<FieldRef Name='TypeEvent'/>" + 
      "<Value Type='Text'>" + selectedChoice["TypeEvent"].ToString() + "</Value>" + 
     "</Eq>" + 
     "<And>" + 
      "<Eq>" + 
       "<FieldRef Name='Date' />" + 
       "<Value Type='DateTime' IncludeTimeValue='FALSE'>" + xDate.ToString("yyyy-MM-dd") + "</Value>" + 
      "</Eq>" + 
      "<BeginsWith>" + 
       "<FieldRef Name='LastNameField' />" + 
       "<Value Type='Text'>"+ desiredLetter +"</Value>" + 
      "</BeginsWith>" + 
     "</And>" + 
    "</And>" + 
"</Where></Query></View>"; 

相關問題