我在sharepoint中有一份员工列表。 Employee列表中的一列是名为Organization的查找列。 我正在尝试编写一个CAML查询来获取组织值不为空的所有员工。但是,即使组织的价值为空,我也会收到所有项目。 这就是我正在尝试的
string querystring = string.empty;
querystring = "<Where><IsNotNull><Field RefName='EmployeeOrganization_x0020_Organization' /></IsNotNull></Where>";
此查询将返回列表中的所有项目。
SPQuery query = new SPQuery();
query.Query = "<Where><IsNotNull><FieldRef Name='EmployeeOrganization_x0020_Organization'/></IsNotNull></Where>";
DataTable dtemp = emplist.GetItems(query).GetDataTable();
if (dtemp != null)
{
GridView1.DataSource = dtemp ;
GridView1.DataBind();
}
答案 0 :(得分:6)
<Query>
<Where>
<IsNotNull>
<FieldRef Name='Project'/>
</IsNotNull>
</Where>
</Query>
正在为我工作。您应该使用U2U CAML查询生成器使用Designer构建查询。它会自动为您生成所需的CAML表达式。
您能从上下文中提供更多内容吗?您对SPQuery实例的设置是什么?
编辑:
<Field RefName='Project'/>
到
<FieldRef Name='Project'/>