Wyniki badań w programie SharePoint

głosy
2

jak mogę uzyskać listę użytkowników, którzy mają ukończone lub niepełne lub nie odpowiedzieli na badania.

więc mam ankietę, powiedzmy survey A. w tej ankiecie mam listę osób lub grup, które muszą wypełnić ankietę. SharePoint już daje nam listę respondentów, ale chcę zrobić listę osób, które nie odpowiedziały lub nie ukończyli badanie.

Używam C #, dzięki ..

Utwórz 02/12/2008 o 04:47
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
2

Zakładając, że badanie jest oznaczony jako non-annonymous, i że ludzie nie mogą odpowiedzieć na ankietę więcej niż raz, można wykonać następujące czynności:

  1. Zapoznaj się z listy osób, które muszą wypełnić ankietę.
  2. Iteracyjne nad elementami w badaniu (każda pozycja jest odpowiedź od jednej osoby).
  3. Usunąć osobę, która stworzyła tę pozycję z lsit ludzi z sekcji 1. (SharePoint Badanie Trzymajmy osoby, które odpowiedziały na ankietę jako „Creator” / „Autor” własności danej pozycji)

Wynikiem będzie lista osób, które musi odpowiedzieć na ankietę, ale nie uczyniły jeszcze.

Odpowiedział 28/12/2008 o 09:43
źródło użytkownik

głosy
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;
}

trzeba utworzyć grupę w użytkownika i grupy i dodać użytkownika w tym. a następnie u może użytkownik może wyżej funkcji i dodać th funkcji obciążenia widoku .... mam pokazać wynik w widoku siatki, dodając w nim coloums

Odpowiedział 18/02/2011 o 14:42
źródło użytkownik

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