2016-07-22 36 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>"; 

相关问题