Résultats de l'enquête dans sharepoint

voix
2

Comment puis-je obtenir une liste des utilisateurs qui ont terminé ou non terminé ou non répondu à une enquête.

donc j'ai une enquête, permet de dire « enquête A ». dans cette enquête j'ai une liste des personnes ou des groupes qui doivent remplir l'enquête. sharepoint nous donne déjà une liste des répondants, mais je veux faire une liste des personnes qui n'ont pas répondu ou non à l'enquête.

J'utilise c #, merci ..

Créé 02/12/2008 à 04:47
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
2

En supposant que vous enquête est marquée comme non annonymous, et que les gens ne peuvent pas répondre à l'enquête plus d'une fois, vous pouvez faire ce qui suit:

  1. Prenez la liste des personnes qui doivent remplir l'enquête.
  2. Itérer sur les éléments de l'enquête (chaque élément est une réponse d'une personne seule).
  3. Retirez la personne qui a créé cet élément de la lsit de personnes de la section 1. (enquête de SharePoint garder la personne qui a répondu à l'enquête comme étant la propriété « Créateur » / « Auteur » de l'article)

Le résultat sera la liste des personnes qui doivent répondre au sondage, mais n'a pas encore fait.

Créé 28/12/2008 à 09:43
source utilisateur

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

vous devez créer un groupe utilisateur et groupe et ajouter un utilisateur à cela. puis u peut peut-dessus fonction utilisateur et ajouter e fonction de la charge de la page .... j'ai montrer le résultat en vue de la grille en ajoutant coloums en elle

Créé 18/02/2011 à 14:42
source utilisateur

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