none
choisir le positionnement des RadioButtonList dans une Web Part C# RRS feed

  • Question

  • Bonjour tout le monde,
    Je n'arrive pas à positionner mes RadioButtonList ou je souhaite au sein de ma WebPart C#. Mes RadioButton se positionne en debut de ligne et il prenne toute la ligne donc mes autres objets se positionne à la ligne suivante. Je precise que je les ai positionnés horizontalement mais en verticale c'est pareil de toute façcon. J'ai cherché du coté du style de la methode, sans succes.....:cry:
    Merci beaucoup pour votre aide

    private System.Web.UI.WebControls.RadioButtonList check_droit;// utilisation de cases a cocher pour definir droits d'acces

    check_droit = new RadioButtonList(); //Initialisation des cases a cocher

    // Propriété des cases a cocher
                check_droit.Items.Add("Lecture");
                check_droit.Items.Add("Ecriture");
                check_droit.RepeatDirection = RepeatDirection.Horizontal;

    this.Controls.Add(Combo_user); //Affichage de la liste des utilisateurs           
    this.Controls.Add(check_droit); // Affichage des cases a cocher
    this.Controls.Add(btn_ajout_user); //affichage du bouton ajout user

    avec cela les radio button devraient se positionner entre ma combo et mon bouton, mais non :lol:
    mercredi 25 mai 2011 10:21

Réponses

  • Bonjour,

    il me semble que pour le développement de web part dans WSS 3 ( ou MOSS 2007 qui est lui même bati sur WSS3  ), le développement de webpart ne permet pas d'utiliser directement d'utiliser du code type "aspx" (c'est à dire de bâtir une webpart en déclarant des balises ) : en effet le développement par défaut consiste à hériter de la classe WebPart et surcharger la méthode CreateChildControl pour gérer les contrôles présent dans la page.

    Pour utiliser du code déclaratif et être plus proche d'un développement "aspx",il est possible de créer un user control qui serait ensuite charger via code behind dans la webpart. Vous pouvez regarder le projet SmartPart sur code plex.

    Cordialement

    Note : les mêmes remarques s'appliquent à votre post Executer une Web Part C#. POur de meilleures réponses je pense que vos demandes devraient être déplacées sur le forum Sharepoint 2007.

    lundi 30 mai 2011 08:30
    Modérateur

Toutes les réponses

  • pour bien positioner tes controls il faut utiliser les tableau et voici un petit exemple :

     

    dans la partie source de ta page tu doit faire ainsi :

    positionnement verticale :

     <table>
      <tr><td> <asp:DropDownList ID="DropDownList1" runat="server">
      </asp:DropDownList></td></tr>
      <tr><td><asp:DropDownList ID="DropDownList2" runat="server">
      </asp:DropDownList></td></tr>
      <tr><td> <asp:Button ID="Button1" runat="server" Text="Button" /> </td></tr>
      </table>
    

    positionnement horizontal :

     <table>
      <tr>
      <td> <asp:DropDownList ID="DropDownList1" runat="server">
      </asp:DropDownList></td>
      <td><asp:DropDownList ID="DropDownList2" runat="server">
      </asp:DropDownList></td>
      <td> <asp:Button ID="Button1" runat="server" Text="Button" /> </td>
    </tr>
      </table>

    en general les tableau te permettre de position tes controls parfaitement

    jeudi 26 mai 2011 08:59
  • Bonjour,

    MrH.Net a raison. La plus simple méthode pour positionner bien vos contrôles est d’utiliser une table. Je vois que vous créez dynamiquement les contrôles. Il sera intéressant à avoir plus des informations sur votre WebPart et un code plus complet pour mieux comprendre ce que vous voulez faire avec votre application pour pouvoir vous donner une solution complète. Comme même, pour consultez cet exemple pour voir comment créer une table dynamiquement.

     

    Cordialement,

     

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.


    vendredi 27 mai 2011 12:41
  • <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:612.0pt 792.0pt; margin:70.85pt 70.85pt 70.85pt 70.85pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->

    Merci pour vos réponses complètes et précises, je vais donc essayer d'appliquer cela. Étant totalement débutant dans la partie (tout premier projet de développement).Je travaille actuellement sur le développement d'un formulaire en ligne à l'aide d'une Web Part C# avec le moteur WSS 3.0 sp2 et .net 3.5 et Visual Studio.Si je comprend bien, je peux utiliser de l'asp dans ma page de code C# pour mettre en forme mes objets ?On ma conseillé également la méthode "Panel()", j'ai essayé mais je n'ai pas compris comment elle fonctionne..... :-(

    Je dispose également de SharePointDesigner2007. Savez-vous s'il est possible de mettre en forme ma WebPart avec SharePoint Designer une fois celle-ci déployée sur un site ?

    Voici tout de même mon code pour ceux que cela intéresse, il s'agit d'un formulaire de demande d'accès a des répertoires de différents serveurs de fichiers ( ne soyez pas trop sévère il doit surement y avoir pas mal d'aberration.....) j'ai essayé de commenter

    Merci encore

    using System;
    using System.Runtime.InteropServices;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Serialization;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.WebControls;
    using Microsoft.SharePoint.WebPartPages;
    using System.DirectoryServices;
    using System.Collections.Generic;
    using System.Net.Mail;
    
    
    namespace pjs_webpart_v1
    {
      [Guid("9fa5e537-f595-4139-b545-3bd4a2152f69")]
      public class pjs_webpart_v1 : System.Web.UI.WebControls.WebParts.WebPart
      {
        private System.Web.UI.WebControls.Label lab_bienvenu; //Champs pour message de bienvenu
        private System.Web.UI.WebControls.Label lab_infos_demande; //Champ date, demandeur, gestionnaire, serveur et repertoire    
        private System.Web.UI.WebControls.Label lab_rep; // label pour chois du repertoire
        private System.Web.UI.WebControls.Label lab_user; // label pour choix user
        private System.Web.UI.WebControls.Label lab_recap; // label recapitulatif de la demande
        private System.Web.UI.WebControls.DropDownList Combo_site; //liste deroulante des sites
        private System.Web.UI.WebControls.DropDownList Combo_groupe; //liste deroulante des groupes
        private System.Web.UI.WebControls.DropDownList Combo_user; //liste deroulante des utilisateurs
        private System.Web.UI.WebControls.DropDownList Combo_site_user; //liste deroulante site user
        private System.DirectoryServices.DirectoryEntry de; // service pour connexion AD
        private System.Web.UI.WebControls.RadioButtonList check_droit; // utilisation de cases a cocher pour definir droits d'acces 
        private System.Web.UI.WebControls.Button btn_selection_groupe; //création d'un bouton selectionner le groupe
        private System.Web.UI.WebControls.Button btn_ajout_user; //création d'un bouton ajout user
        private System.Web.UI.WebControls.Button btn_valider; //création d'un bouton valider la demande
        private System.Web.UI.WebControls.Button btn_annuler; //création d'un bouton annuler la demande
        private System.Web.UI.WebControls.Label lab_tableau_demande; //Champs pour le tableau de demande
        private System.Web.UI.WebControls.ListBox ListBox_User_selectionne; // Liste déroulante pour contenir la liste des utilisateurs sélectionnés (nom visible)  
        private System.Net.Mail.MailMessage mail_sd; //mail pour SD
        //private System.Net.Mail.MailAddressCollection mail_to; //methode pour adresse mail expediteur avec une variable
        private System.Net.Mail.SmtpClient smtp; // appel du service smtp
        
        protected override void OnInit(EventArgs e)
        {
          base.OnInit(e);      
          lab_bienvenu = new System.Web.UI.WebControls.Label(); //Initialisation de label bienvenu      
          lab_infos_demande = new System.Web.UI.WebControls.Label(); ////Initialisation de label infos demande
          lab_tableau_demande = new System.Web.UI.WebControls.Label();
          lab_rep = new System.Web.UI.WebControls.Label();
          lab_user = new System.Web.UI.WebControls.Label();
          lab_recap = new System.Web.UI.WebControls.Label();
          Combo_site = new DropDownList(); //Initialisation de liste deroulante choix du site
          Combo_groupe = new DropDownList(); //Initialisation de liste deroulante choix du groupe
          Combo_user = new DropDownList(); //Initialisation de liste deroulante choix d'un utilisateur
          Combo_site_user = new DropDownList(); //Initialisation de la liste deroulante site user
          check_droit = new RadioButtonList(); //Initialisation des cases a cocher
          btn_selection_groupe = new System.Web.UI.WebControls.Button(); //Initialisation du bouton selection groupe
          btn_ajout_user = new System.Web.UI.WebControls.Button(); //Initialisation du bouton ajouter
          btn_valider = new System.Web.UI.WebControls.Button(); //Initialisation du bouton valider la demande
          btn_annuler = new System.Web.UI.WebControls.Button(); //Initialisation du bouton annuler la demande
          ListBox_User_selectionne = new ListBox(); // Initialisation Liste déroulante pour contenir la liste des utilisateurs sélectionnés (nom visible)      
          
          smtp = new SmtpClient(); //initialisation du client SMTP
          smtp.Host = "10.3.2.35";
          smtp.Port = 25;
    
          de = new DirectoryEntry(); // Initailisation connexion AD
          de.Path = "LDAP://OU=sites,OU=france,dc=gfg,dc=fggthth,dc=tghthl"; // PAtch pour connexion AD
          de.Username = "toto"; // Compte utilisé pour la connexion AD
          de.Password = "toto"; //Password du compte AD utilisé pour la connexion
        }
    
        public pjs_webpart_v1()
        {
        }
    
        protected override void CreateChildControls()
        {
          
          // Propriété des cases a cocher
          check_droit.Items.Add("Lecture");
          check_droit.Items.Add("Ecriture");
          check_droit.RepeatDirection = RepeatDirection.Horizontal;
          check_droit.SelectedIndex = 0;
    
          // Propriété du bouton selection groupe
          btn_selection_groupe.Enabled = false;
          btn_selection_groupe.Text = "Sélectionner le repertoire"; //affectation du texte du bouton
          btn_selection_groupe.Click += new System.EventHandler(this.Proc_click_btn_selection_groupe); //appel de la procédure Proc_click_btn_visible lors du click sur un bouton
          
    
          // Propriété du bouton ajout user
          btn_ajout_user.Enabled = false;
          btn_ajout_user.Text = "Ajouter"; //affectation du texte du bouton
          btn_ajout_user.Click += new System.EventHandler(this.Proc_click_btn_ajout_user); //appel de la procédure Proc_click_btn_visible lors du click sur un bouton
    
          // Propriété du bouton valider la demande
          btn_valider.Enabled = false;
          btn_valider.Text = "Valider la demande"; //affectation du texte du bouton
          btn_valider.Click += new System.EventHandler(this.Proc_click_btn_valider); //appel de la procédure Proc_click_btn_visible lors du click sur un bouton
    
          // Propriété du bouton annuler la demande
          btn_annuler.Enabled = false;
          btn_annuler.Text = "Annuler la demande"; //affectation du texte du bouton
          btn_annuler.Click += new System.EventHandler(this.Proc_click_btn_annuler); //appel de la procédure Proc_click_btn_visible lors du click sur un bouton
    
          //propriété de la liste de site
          Combo_site.SelectedIndex = 0; // sélection par défaud de la première ligne
          Combo_site.Items.Add("Sélectionner un site"); // Initialisation de la première ligne de la combo "choix du site".
          Combo_site.AutoPostBack = true; // actualise les données après une séléction
          Combo_site.SelectedIndexChanged += new System.EventHandler(this.Proc_choix_Combo_site); // appel de la procédure Proc_choix_Combo_site lors de la sélection d'un site
    
    
          //propriété de la liste du choix du groupe
          Combo_groupe.Enabled = false; //etat grisé de la liste du choix de groupe
          Combo_groupe.SelectedIndex = 0; // sélection par défaud de la première ligne
          Combo_groupe.Items.Add("Sélectionner un repertoire"); // Initialisation de la première ligne de la combo "choix du groupe".
          Combo_groupe.AutoPostBack = true; // actualise les données après une séléction
          Combo_groupe.SelectedIndexChanged += new System.EventHandler(this.Proc_choix_Combo_groupe); // appel de la procédure Proc_choix_Combo_site lors de la sélection d'un groupe
          
    
          //propriété de la liste du choix utilisateur
          Combo_user.SelectedIndex = 0; // sélection par défaud de la première ligne
          Combo_user.Items.Add("Sélectionner un utilisateur"); // Initialisation de la première ligne de la combo "choix du groupe".
          Combo_user.Enabled = false; //etat grisé de la liste du choix utilisateur      
    
          //propriété de la liste du choix site user
          Combo_site_user.SelectedIndex = 0; // sélection par défaud de la première ligne
          Combo_site_user.Items.Add("Sélectionner le site de l'utilisateur"); // Initialisation de la première ligne de la combo "choix du groupe".
          Combo_site_user.Enabled = false; //etat grisé de la liste du choix utilisateur
          Combo_site_user.AutoPostBack = true; // actualise les données après une séléction
          Combo_site_user.SelectedIndexChanged += new System.EventHandler(this.Proc_choix_Combo_site_user); // appel de la procédure Proc_choix_Combo_site_user lors de la sélection d'un site user
    
          //propriété de la liste ListBox_User_selectionne
          ListBox_User_selectionne.Visible = false;
    
          // affectation du champs bienvenu
          lab_bienvenu.Text = "<BR><CENTER><img border='0' src='http://frsrvtestmc/image/logo_dsi.jpg' align='middle'><b><span style='font-size: 15pt'>DEMANDE DE MODIFICATION D'ACCES A UN REPERTOIRE<img border='0' src='http://frsrvtestmc/image/logo_dsi.jpg' align='middle'></CENTER>"; // affectation au champs bienvenu de la date au format cour (jj/mm/aaaa) et d'un saut de ligne (<BR>)
          lab_bienvenu.BorderStyle = BorderStyle.Double;
          //fin affectation du champs bienvenu
    
          // affectation du champs rep
          lab_rep.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u><b><font size='2'>Sélection du répertoire : </font></b></u>" + "<BR>";
          //fin affectation du champs rep
    
          // affectation du champs user
          lab_user.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u><b><font size='2'>Sélection de/des utilisateurs : </font></b></u>" + "<BR>";
          //fin affectation du champs user
    
          // affectation du champs recap
          lab_recap.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u><b><font size='2'>Récapitulatif de la demande : </font></b></u>" + "<BR>";
          //fin affectation du champs recap
          
          string Var_User = Environment.UserName; // Récupération de nom AD de l'utilisateur connecté
          //Recherche AD
          string Var_Nom_User, Var_Prenom_User, Var_name; //Variable pour récupérer le nom et le prénom de l'utilisateur
          string Var_sites; //creation de la variable pour liste sites
          DirectorySearcher ds_userconnecte = new DirectorySearcher(de);
          ds_userconnecte.Filter = "(SAMAccountName=" + Var_User + ")"; //Requete AD : chercher l'utilisateur par rapport à non nom de login
          SearchResult sr = ds_userconnecte.FindOne();
          de = sr.GetDirectoryEntry();
          Var_Nom_User = (string)de.Properties["sn"].Value; //Recupération du nom de l'utilisateur
          Var_Prenom_User = (string)de.Properties["givenName"].Value; //Recupération du prénom de l'utilisateur      
          Var_name = (string)de.Properties["name"].Value; //Recupération de la propriete name d'un user AD
          //fin recherche AD
    
    
          // requete AD pour OU sites
          de.Path = "LDAP://OU=ressources,OU=groupes,OU=france,dc=ghyutg,dc=hujyhuiyh,dc=lcl"; //Patch de la connexion AD
          DirectorySearcher ds_site = new DirectorySearcher(de);
          ds_site.Filter = "(objectClass=organizationalUnit)";
          ds_site.SearchScope = SearchScope.OneLevel;
          foreach (SearchResult sr_sites in ds_site.FindAll())
          {
            de = sr_sites.GetDirectoryEntry();
            Var_sites = (string)de.Properties["name"].Value;
            if (Var_sites.IndexOf("_") == -1) // test pour savoir si le nom du site contient le mot "test"
            {
              Combo_site.Items.Add(Var_sites); // alimentation de la liste
            }
    
          }      
    
          // affectation du champs infos demande
          lab_infos_demande.BorderStyle = BorderStyle.Ridge;
          lab_infos_demande.Text = "Nous sommes le " + DateTime.Now.ToShortDateString() + "<BR>"; // affectation au champs bienvenu de la date au format cour (jj/mm/aaaa) et d'un saut de ligne (<BR>)
          lab_infos_demande.Text += "Il est " + DateTime.Now.ToShortTimeString() + "<BR>";// ajout de l'heure et d'un saut de ligne (<BR>)
          lab_infos_demande.Text += "Demandeur : " + Var_name + "<BR>"; //ajout du demandeur
          //fin affectation du champs bienvenu
    
          // Affichage des champs
          base.CreateChildControls();
          this.Controls.Add(new LiteralControl("<BR><BR><BR>"));//insertion d'un saut de ligne
          this.Controls.Add(lab_bienvenu); //Affichage du champs bienvenu
          this.Controls.Add(new LiteralControl("<BR><BR><BR><BR><BR>"));//insertion d'un saut de ligne
          this.Controls.Add(lab_rep);
          this.Controls.Add(new LiteralControl("<BR>"));//insertion d'un saut de ligne
          this.Controls.Add(Combo_site); //affichage de la liste deroulante choix du site
          this.Controls.Add(new LiteralControl("&nbsp;&nbsp;&nbsp;"));//insertion d'un espace
          this.Controls.Add(Combo_groupe); //affichage de la liste deroulante choix du groupe
          this.Controls.Add(new LiteralControl("&nbsp;&nbsp;&nbsp;"));//insertion d'un espace
          this.Controls.Add(btn_selection_groupe); //Affichage du bouton ajouter
          this.Controls.Add(new LiteralControl("<BR><BR><BR><BR><BR>"));//insertion d'un saut de ligne 
          this.Controls.Add(lab_user);
          this.Controls.Add(new LiteralControl("<BR>"));//insertion d'un saut de ligne
          this.Controls.Add(Combo_site_user);//Affichage combo site user
          this.Controls.Add(new LiteralControl("&nbsp;&nbsp;&nbsp;"));//insertion d'un espace
          this.Controls.Add(Combo_user); //Affichage de la liste des utilisateurs      
          this.Controls.Add(check_droit); // Affichage des cases a cocher
          this.Controls.Add(new LiteralControl("&nbsp;&nbsp;&nbsp;"));//insertion d'un espace
          this.Controls.Add(btn_ajout_user); //affichage du bouton ajout user
          this.Controls.Add(new LiteralControl("<BR><BR><BR><BR><BR>"));//insertion d'un saut de ligne
          this.Controls.Add(lab_recap);
          this.Controls.Add(new LiteralControl("<BR>"));//insertion d'un saut de ligne
          this.Controls.Add(lab_infos_demande); //affichage champ infos demande 
          this.Controls.Add(new LiteralControl("<BR><BR><BR>"));//insertion d'un saut de ligne 
          this.Controls.Add(lab_tableau_demande);
          this.Controls.Add(ListBox_User_selectionne);
          this.Controls.Add(btn_valider);
          this.Controls.Add(new LiteralControl("&nbsp;&nbsp;&nbsp;"));//insertion d'un espace
          this.Controls.Add(btn_annuler);
    
          // Fin Affichage des champs
        }
    
        private void Proc_choix_Combo_groupe(object sender, EventArgs e) //Procédure executée lors de la selection du site
        {
          btn_selection_groupe.Enabled = true;
        }
    
        private void Proc_click_btn_selection_groupe(object sender, EventArgs e) //Procédure executée lors du clic sur bouton selection groupe
        {
          btn_selection_groupe.Enabled = false;      
          btn_annuler.Enabled = true;
          Combo_site.Enabled = false;
          Combo_groupe.Enabled = false;      
          Combo_site_user.Enabled = true;      
    
          //Recherche AD gestionnaire
          string Var_gestionnaire, Var_serveur, Var_rep; //creation de la variable gestionnaire
          de.Path = "LDAP://OU=ressources,OU=groupes,OU=france,dc=fr,dc=kjhgjg,dc=lcl"; // PAth pour connexion AD
          DirectorySearcher ds_gestionnaire = new DirectorySearcher(de);
          ds_gestionnaire.Filter = "(name=*" + Combo_groupe.SelectedValue + "*)";
          ds_gestionnaire.SearchScope = SearchScope.Subtree;
          SearchResult sr_gestionnaire = ds_gestionnaire.FindOne();
          de = sr_gestionnaire.GetDirectoryEntry();
          Var_gestionnaire = (string)de.Properties["description"].Value; //Recupération du nom du gestionnaire
          
          // alimentation du label infos demande
          lab_infos_demande.Text += Var_gestionnaire + "<BR>";
    
          Var_serveur = Combo_groupe.SelectedValue.ToString();
          char[] srv = new char[] { '-' };
          string[] Var_srv = Var_serveur.Split(srv); //découpage de la chaine avec le séparateur -
          lab_infos_demande.Text += "Nom du serveur de fichier : " + Var_srv[0] + "<BR>"; //affichage du nom du serveur apres decoupage en position index 0 dans la liste virtuel du split
    
          Var_rep = Combo_groupe.SelectedValue.ToString();
          int rep = Var_rep.IndexOf("-") + 1;
          Var_rep = Var_rep.Substring(rep);
          lab_infos_demande.Text += "Repertoire : " + Var_rep;
    
          //string[] var_user_liste = user_liste.Split(sep); //découpage de la chaine avec le séparateur &
          //user_liste_temp = var_user_liste[0];
    
          //Recherche AD site user
          string site_user;
          de.Path = "LDAP://OU=sites,OU=france,dc=fr,dc=huguhjgujg,dc=lcl"; //Patch de la connexion AD
          DirectorySearcher ds_site_user = new DirectorySearcher(de);
          ds_site_user.Filter = "(objectClass=organizationalUnit)";
          ds_site_user.SearchScope = SearchScope.OneLevel;
          foreach (SearchResult sr_site_user in ds_site_user.FindAll())
          {
            de = sr_site_user.GetDirectoryEntry();
            site_user = (string)de.Properties["name"].Value;
            if (site_user.IndexOf("test") == -1) // test pour savoir si le nom du site contient le mot "test"
            {
              Combo_site_user.Items.Add(site_user); // alimentation de la liste
            }
    
          }
    
    
           
    
        }    
        
        private void Proc_choix_Combo_site(object sender, EventArgs e) //Procédure executée lors de la selection du site
        {
          Combo_groupe.Items.Clear(); // effacement du contenu de la liste "liste groupe"
          Combo_groupe.Enabled = true; // active la liste choix du groupe
          Combo_groupe.Items.Add("Sélectionner un groupe"); // Initialisation de la première ligne de la combo "choix du groupe".
          //Recherche AD
          string Var_groupe; //creation de la variable pour liste groupe      
          de.Path = "LDAP://OU=" + Combo_site.SelectedValue + ",OU=ressources,OU=groupes,OU=france,dc=fr,dc=hjuufgydl,dc=lcl"; //Patch de la connexion AS
          DirectorySearcher ds = new DirectorySearcher(de);
          ds.Filter = "(&(objectClass=group)(description>=Gestionnaire :))";
          ds.SearchScope = SearchScope.Subtree;
    
          List<string> list_nom_groupe = new List<string>(); // création d'une liste pour trier et éviter doublons
    
          foreach (SearchResult sr_groupe in ds.FindAll())
          {
    
            de = sr_groupe.GetDirectoryEntry();
            Var_groupe = (string)de.Properties["name"].Value;       
            int leng_groupe = Var_groupe.Length; // Compte le nombre de caractere de la chaine var_groupe
            Var_groupe = Var_groupe.Substring(2, leng_groupe - 2 - 2); //suppression des 2 premieres chaines et des 2 dernières chaines de caracteres
    
            //supression doublon
            if (!list_nom_groupe.Contains(Var_groupe))
            {
              list_nom_groupe.Add(Var_groupe); // alimentation de la liste
            }
    
          }
          list_nom_groupe.Sort(); // trie des noms de groupe dans la liste
          foreach (string str in list_nom_groupe) Combo_groupe.Items.Add(str);
               
    
        }
    
        private void Proc_choix_Combo_site_user(object sender, EventArgs e) //Procédure executée lors de la selection du site user
        {
          btn_ajout_user.Enabled = true;
          Combo_user.Items.Clear();
          Combo_user.Enabled = true;
    
          //Recherche AD
          string Var_user; //creation de la variable pour liste user 
          de.Path = "LDAP://OU=" + Combo_site_user.SelectedValue + ",OU=sites,OU=france,dc=fr,dc=olpjjgds,dc=lcl"; // PAtch pour connexion AD
          DirectorySearcher ds_user = new DirectorySearcher(de);
          ds_user.Filter = "(&(objectCategory=person)(objectClass=user))";
          ds_user.SearchScope = SearchScope.Subtree;
    
          List<string> list_nom_user = new List<string>(); // création d'une liste pour trier 
    
          foreach (SearchResult sr_user in ds_user.FindAll())
          {
    
            de = sr_user.GetDirectoryEntry();
            Var_user = (string)de.Properties["name"].Value;
            list_nom_user.Add(Var_user); // alimentation de la liste        }
    
          }
    
          list_nom_user.Sort();
          foreach (string str in list_nom_user) Combo_user.Items.Add(str);      
    
        }
    
        private void Proc_click_btn_ajout_user(object sender, EventArgs e) //Procédure executée lors du clic sur bouton selection groupe
        {
          btn_valider.Enabled = true;
    
          int i =0;
          string ligne_tableau = "", user, droit, user_liste_temp,user_a_supprimer="";
          char[] sep = new char[] { '&' };
         
          ListBox_User_selectionne.Items.Add(Combo_user.SelectedValue + "&" + check_droit.SelectedValue);
         
          List<string> list_user_selectionne = new List<string>(); // création d'une liste pour trier et eviter doublon
          while (i != ListBox_User_selectionne.Items.Count) 
          {
            foreach (string user_liste in list_user_selectionne) // test pour savoir si l'utilisateur a déjà été ajouté
            {  
              string[] var_user_liste = user_liste.Split(sep); //découpage de la chaine avec le séparateur &
              user_liste_temp = var_user_liste[0];
              if (Combo_user.SelectedValue == user_liste_temp) // test pour savoir si l'utilisateur a déjà été ajouté
              {
                user_a_supprimer = user_liste;
              }
              
            }
    
            list_user_selectionne.Remove(user_a_supprimer); //suppression de l'utilisateur qui avait déjà été ajouté
            list_user_selectionne.Add(ListBox_User_selectionne.Items[i].ToString()); // ajout de l'utilisateur choisi
            string [] var_user_selectionne = ListBox_User_selectionne.Items[i].ToString().Split(sep); //découpage de la chaine avec le séparateur &
            user = var_user_selectionne[0];
            droit= var_user_selectionne[1];
            i++;
          }
    
          list_user_selectionne.Sort();
          ListBox_User_selectionne.Items.Clear();
    
          foreach (string user_temp in list_user_selectionne)
          {
            ListBox_User_selectionne.Items.Add(user_temp);
            
            string[] var_user_selectionne = user_temp.Split(sep); //découpage de la chaine avec le séparateur &
            user = var_user_selectionne[0];
            droit = var_user_selectionne[1];
            ligne_tableau += "<tr><td> <p align='center'>" + user + "</td><td> <p align='center'>" + droit + "</td></tr>";
    
          }
          list_user_selectionne.Clear();
    
    
          lab_tableau_demande.Text = "<BR>" + "<table border='1' style='border-style: ridge; border-width: 3px' width='100%' id='table1'>" +
              "<tr>" +
                "<td> <p align='center'><b>Utilisateur</b></td> " +
                "<td> <p align='center'><b>Droits demandés</b></td> " +
              "</tr>" +
              ligne_tableau +
            "</table>"+ "<BR>";
        }
    
        private void Proc_click_btn_valider(object sender, EventArgs e) //Procédure executée lors du clic sur bouton selection groupe
        {
          string Var_mail_user;
          string Var_user_wss = Environment.UserName; // Récupération de nom AD de l'utilisateur connecté
          de.Path = "LDAP://OU=sites,OU=france,dc=fr,dc=khyfdrsq,dc=lcl"; // PAtch pour connexion AD
          DirectorySearcher ds_mail_user = new DirectorySearcher(de);
          ds_mail_user.Filter = "(SAMAccountName=" + Var_user_wss + ")"; //Requete AD : chercher l'utilisateur par rapport à non nom de login
          SearchResult sr_mail_user = ds_mail_user.FindOne();
          de = sr_mail_user.GetDirectoryEntry();
          Var_mail_user = (string)de.Properties["mail"].Value; //Recupération du mail de l'utilisateur
          lab_infos_demande.Text += Var_mail_user;      
          
          
          mail_sd = new System.Net.Mail.MailMessage(Var_mail_user, "mihjiujyhutyr@koluijyur"); // Initialisation du mail pour le SD
          mail_sd.CC.Add(Var_mail_user);
          mail_sd.Subject = "DEMANDE DE MODIFICATION D'ACCES A UN REPERTOIRE";
          mail_sd.Body = "test";
          smtp.Send(mail_sd);
          
        }
    
        private void Proc_click_btn_annuler(object sender, EventArgs e) //Procédure executée lors du clic sur bouton selection groupe
        {
          
          
    
        }
    
      }
    
    
    }
    
    
    

    vendredi 27 mai 2011 16:27
  • Bonjour,

    Je vais essayer à répondre à vos questions :

     

    Si je comprend bien, je peux utiliser de l'asp dans ma page de code C# pour mettre en forme mes objets ?

    Dans le fichier du code C# vous pouvez introduire du code C#, donc vous pouvez créer les contrôles seulement dynamiquement dans ce fichier. Vous pouvez utiliser l’ASP dans la page .aspx pour créer la table dont on parle.

     

    Savez-vous s'il est possible de mettre en forme ma WebPart avec SharePoint Designer une fois celle-ci déployée sur un site ?

     

    Je n’ai pas bien compris cette question pouvez-vous la reformuler ? Merci !

     

    Ensuite, pour les questions concernant le développement SharePoint on a des forums sur le site MSDN. Pour la version 2007, mettez svp vos questions sur ce forum : http://social.msdn.microsoft.com/Forums/fr-FR/sharepointfr/threads.

     

    Cordialement,

     

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    lundi 30 mai 2011 07:49
  • Bonjour,

    il me semble que pour le développement de web part dans WSS 3 ( ou MOSS 2007 qui est lui même bati sur WSS3  ), le développement de webpart ne permet pas d'utiliser directement d'utiliser du code type "aspx" (c'est à dire de bâtir une webpart en déclarant des balises ) : en effet le développement par défaut consiste à hériter de la classe WebPart et surcharger la méthode CreateChildControl pour gérer les contrôles présent dans la page.

    Pour utiliser du code déclaratif et être plus proche d'un développement "aspx",il est possible de créer un user control qui serait ensuite charger via code behind dans la webpart. Vous pouvez regarder le projet SmartPart sur code plex.

    Cordialement

    Note : les mêmes remarques s'appliquent à votre post Executer une Web Part C#. POur de meilleures réponses je pense que vos demandes devraient être déplacées sur le forum Sharepoint 2007.

    lundi 30 mai 2011 08:30
    Modérateur