Caml Query用于获取Lookup Column值不为null的项目

时间:2011-09-27 20:35:58

标签: sharepoint

我在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();
            }

1 个答案:

答案 0 :(得分:6)

<Query>
  <Where>
    <IsNotNull>
       <FieldRef Name='Project'/>
    </IsNotNull>
  </Where>
</Query>

正在为我工​​作。您应该使用U2U CAML查询生成器使用Designer构建查询。它会自动为您生成所需的CAML表达式。

您能从上下文中提供更多内容吗?您对SPQuery实例的设置是什么?

编辑:

<Field RefName='Project'/>

<FieldRef Name='Project'/>