是否可以通过使用CamlQuery的第一个字母从sharepoint获取名称列表?

时间:2016-07-22 19:34:16

标签: c# sharepoint sharepoint-2010 caml

我是SharePoint新手。我有这个问题:

PATH

我需要添加一个条件来查询姓氏的第一个字母;所以我可以拿回一个较小的清单。可能吗?怎么样?

我将查询更改为此,但无效。我做错了吗? (我在文件名中添加了 x0020 ,因为我在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>";

1 个答案:

答案 0 :(得分:1)

如果您正在尝试查询&#34;用户或群组&#34;字段,然后没有,没有方法可以根据姓氏进行排序或过滤。

另一方面,如果您在单独的文本字段中使用姓氏,则可以在CAML查询中使用<BeginsWith>元素。

您的最终CAML查询可能如下所示:

"<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>";

(根据需要用适当的列名和变量名替换LastNameFielddesiredLetter。)