我是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>";发布于 2016-07-22 20:05:21
如果您试图查询“用户或组”字段,则不存在仅根据姓氏进行排序或筛选的方法。
另一方面,如果在单独的文本字段中有姓氏,则可以在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>";(必要时用适当的列名和变量名替换LastNameField和desiredLetter。)
https://stackoverflow.com/questions/38534074
复制相似问题