調査を完了した、完了していない、または回答していないユーザーのリストを取得する方法を教えてください。
調査があります。「調査 A」としましょう。この調査では、調査に記入する必要がある人またはグループのリストがあります。sharepoint はすでに回答者のリストを提供していますが、回答していない、または調査を完了していない人のリストを作成したいと考えています。
私はc#を使用しています、ありがとう..
調査を完了した、完了していない、または回答していないユーザーのリストを取得する方法を教えてください。
調査があります。「調査 A」としましょう。この調査では、調査に記入する必要がある人またはグループのリストがあります。sharepoint はすでに回答者のリストを提供していますが、回答していない、または調査を完了していない人のリストを作成したいと考えています。
私はc#を使用しています、ありがとう..
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;
}
userとgroupにグループを作成し、その中にuserを追加する必要があります。次に、uは上記の関数を使用して、ページの読み込みに関数を追加できます。...列を追加してグリッドビューに結果を表示しました。
アンケートが匿名ではないものとしてマークされており、他のユーザーがアンケートに2回以上回答できないと仮定すると、次のことができます。
結果は、調査に回答しなければならないが、まだ回答していない人々のリストになります。