Результаты опроса в SharePoint

голоса
2

Как я могу получить список пользователей, которые завершили или не завершены или не ответили на опрос.

поэтому у меня есть исследование, позволяет сказать «обозревать». В этом обзоре я есть список людей или групп, которые должны заполнить анкету. уже дает SharePoint нам список респондентов, но я хочу, чтобы составить список людей, которые не ответили или не завершившие исследование.

Я использую C #, спасибо ..

Задан 02/12/2008 в 04:47
источник пользователем
На других языках...                            


2 ответов

голоса
2

Предполагая, что вы обследование помечаются как не annonymous, и что люди не могут ответить на опросе более чем один раз, вы можете сделать следующее:

  1. Возьмите список людей, которые должны заполнить анкету.
  2. Итерация по элементам в опросе (каждый элемент является ответом от одного человека).
  3. Удалить человек, который создал этот пункт из lsit людей из раздела 1. (SharePoint обследования Сохранит человек, который ответил на опрос, как свойство «Создатель» / «Автор» пункт)

Результат будет список людей, которые должны ответить на опрос, но еще не сделал этого.

Ответил 28/12/2008 в 09:43
источник пользователем

голоса
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

Ответил 18/02/2011 в 14:42
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more