resultados de la encuesta en sharepoint

votos
2

¿Cómo obtengo una lista de usuarios que completaron o no completaron o no respondieron a una encuesta?

entonces tengo una encuesta, digamos encuesta A. en esta encuesta tengo una lista de personas o grupos que deben llenar la encuesta. sharepoint ya nos proporciona una lista de encuestados, pero quiero hacer una lista de personas que no respondieron o no completaron la encuesta.

estoy usando c #, gracias ..

Publicado el 02/12/2008 a las 04:47
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
2

Suponiendo que su encuesta está marcada como no anónima y que las personas no pueden responder la encuesta más de una vez, puede hacer lo siguiente:

  1. Tome la lista de personas que DEBEN llenar la encuesta.
  2. Iteramos los ítems de la encuesta (cada ítem es una respuesta de una sola persona).
  3. Elimine a la persona que creó ese elemento del grupo de personas de la sección 1. (Las encuestas de SharePoint mantienen a la persona que respondió a la encuesta como la propiedad "Creador" / "Autor" del elemento)

El resultado será la lista de personas que DEBEN responder a la encuesta, pero que aún no lo han hecho.

Respondida el 28/12/2008 a las 09:43
fuente por usuario

votos
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;
}

usted tiene que crear un grupo de usuarios y grupos de usuarios y añadir en eso. y entonces u CAN CAN usuario, encima de función y añadir º función en carga de la página .... He mostrar el resultado en vista de cuadrícula mediante la adición de coloums en ella

Respondida el 18/02/2011 a las 14:42
fuente por usuario

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