2011-09-27 48 views
2

我有一個在sharepoint中的員工列表。 Employee列表中的一列是名爲Organization的查找列。 我想寫一個CAML查詢來獲取組織值不爲空的所有員工。但是,即使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(); 
      } 

回答

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

正在爲me.You應該使用U2U CAML查詢生成器通過使用設計器來構建查詢。它會自動爲你生成所需的CAML表達。

你能提供更多的從你的上下文。您在SPQuery實例上的設置是什麼?

編輯:

<Field RefName='Project'/>

<FieldRef Name='Project'/>

+0

謝謝...有我的查詢中一個錯字錯誤。 – Janet