2008-12-02 52 views
2

我如何獲得已完成或未完成或未回覆調查的用戶列表。sharepoint調查結果

所以我有一個調查,讓我們說「調查A」。在這次調查中,我有一份必須填寫調查問卷的人員或小組名單。 Sharepoint已經給我們提供了一份受訪者名單,但是我想列出一些沒有回覆或未完成調查的人員。

我使用C#,感謝..

+0

林好奇,想知道這是爲什麼downvoted顯示結果以網格視圖... – Stefan 2008-12-02 04:27:07

回答

2

假設你調查是標記爲不可annonymous,那人不能回答調查不止一次,你可以做到以下幾點:

  1. 拿出必須填寫調查的人員名單。
  2. 迭代調查中的項目(每個項目是一個人的回覆)。
  3. 刪除創建的項目從人的lsit從部分1(的SharePoint調查的保持這種回答調查的「創造者」 /「作者」的項目屬性的人)

人結果將是必須回答調查的人員名單,但尚未這樣做。

2
private DataTable GetUser() 
{ 
    //SPGroup User = null; 

    DataTable dt = new DataTable(); 
    dt.Columns.Add("Survey Remeaning User"); 

    DataTable dtuser = new DataTable(); 
    dtuser.Columns.Add("Survey Completed User"); 


    try 
    { 
     SPSecurity.RunWithElevatedPrivileges(delegate() 
     { 
      using (SPSite objSubSite = new SPSite(SPContext.Current.Site.Url)) 
      { 
       SPUserCollection userCollection = SPContext.Current.Web.Groups["Survey Members"].Users; 
       foreach (SPUser user in userCollection) 
       { 
        StringBuilder sb = new StringBuilder(); 
        sb.Append("<Where>"); 
        sb.Append("<Eq>"); 
        sb.Append("<FieldRef Name='Author' />"); 
        sb.Append("<Value Type='User'>" + user + "</Value>"); 
        sb.Append("</Eq>"); 
        sb.Append("</Where>"); 

        // query.ViewFields = "<FieldRef Name='Author'/>"; 
        SPQuery query = new SPQuery(); 
        query.Query = sb.ToString(); 

        using (SPWeb objWeb = objSubSite.OpenWeb()) 
        { 
         int i = objWeb.Lists["SurveyList"].GetItems(query).Count; 
         if (i == 0) 
         { 
          dt.Rows.Add(user); 
          GvUser.DataSource = dt; 
          GvUser.DataBind(); 
         } 
         //if (i == 1) 
         else 
         { 
          //DataTable dtuser = new DataTable(); 
          //dt.Columns.Add("SurveyCompleted"); 
          dtuser.Rows.Add(user); 
          GvComUser.DataSource = dtuser; 
          GvComUser.DataBind(); 
         } 
        } 
       } 
      } 
     }); 
    } 
    catch (Exception) 
    { 


    } 
    return dt; 
} 

您必須在用戶和組中創建一個組,然後添加用戶。 然後ü可以用戶可以上述功能和頁面加載加個功能.... 我已經在裏面加入coloums