IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SharePoint .NET Discussion :

[MOSS]Mise en forme webpart


Sujet :

SharePoint .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 29
    Par défaut [MOSS]Mise en forme webpart
    Bonjour,

    J'essaie de créer une webpart contenant plusieurs control (checkbox, button, textbox)

    Je me demande comment puis-je mettre en forme ma webpart ?
    Je m'explique
    je fais dans ma méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    protected override void CreateChildControls()
    {
    CheckBox chk1 = new CheckBox();
    chk1.Text = "chk1";
    Controls.Add.(chk1);
     
    CheckBox chk2 = new CheckBox();
    chk2.Text = "chk2";
    Controls.Add.(chk2);
     
    CheckBox chk3 = new CheckBox();
    chk3.Text = "chk3";
    Controls.Add.(chk3);
     
    //... etc jusque 6
     
    Button btn1 = new Button();
    btn.Text = "btn1";
    Controls.Add(btn1);
    }

    le problème est que mes controls viennent se coller les uns aux autres.

    j'aimerais avoir par exemple les 3 premières checkbox sur une ligne (pas collé mais un peu espacé)
    les trois suivantes sur une autre ligne (idem)

    puis mon bouton sur une troisème ligne et qui serait centré par rapport aux checkbox

    J'ai ajouté des Literal qui contienent des <br> pour mettre à la ligne mais comment faire pour le reste ?
    j'ai voulu également utiliser des literal avec des espaces comme valeur mais ça ne fonctionne pas !!

    Y a t il moyen d'avoir une vraie mise en forme ?

    Une idée ?

    Merci

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Par défaut
    Suffit d'enrober le tout dans une table HTML ou un Panel ou n'importe quoi et de réécrire la méthode Render qui va bien. Y a plein d'exemples dans mes tutos

    http://sharepoint.developpez.com/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 29
    Par défaut
    les exemples utilisent que des labels, comme l'exemple helloworld

    Cependant je ne vois pas comment je peux m'y prendre pour mettre correctement ma webpart en forme

    qu'appellez-vous par réécrire la méthode Render qui va bien ?

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 83
    Par défaut
    bonjour,

    Alors si tu veux pouvoir mettre des elements sur differentes lignes tu peux toujours utiliser cette methode si tu veux tiens a rester en c#

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    chk1.Width = new Unit("100%");
    Apres tu peux determiner le pourcentage qui te convient. Pour rappel un 100% signifie que le prochain element que tu ajoutes sera sur la prochaine ligne.

    A cela tu geres la taille de ta webpart et ca un truc pas trop moche. Bon c'est sur ca vaut pas le css mais bon ca prend moins de temps lol.

    J'espere que ca t aide.

    Nico

  5. #5
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 53
    Par défaut
    tu pourrais par exemple faire ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    protected override void RenderWebPart(HtmlTextWriter output)
    {
        int cpt = 0;
        EnsureChildControls();
        output.RenderBeginTag("table");
        output.RenderBeginTag("tr");
        foreach(Control ctrl in Controls)
        {
            if(ctrl is CheckBox)
            {
                output.RenderBeginTag("td");
                ctrl.RenderControl(output);
                ouput.RenderEndTag();
                cpt ++;
                if(cpt > 2)
                {
                    ouput.RenderEndTag(); //fin td
                    ouput.RenderBeginTag("tr");
                }
            }
        }
        output.RenderEndTag(); //fin tr
        output.RenderEndTag(); // fin table
    }
    ceci a pour effet d'afficher 3 checkbox par ligne dans un tableau, maintenant à toi de tester ce qu'il y a à tester (par exemple si il y a plusieurs "groupe" de checkbox sur ta webpart)

    Voilà

    J'espère que ceci pourra t'aider !!

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 29
    Par défaut
    Super mschoum c'est exactement ce que je voulais !!!

    Le problème avec la majorité des exemples, c'est que ce sont des HelloWorld qui ne montrent pas vraiment aux débutants à quoi cela sert et comment on peu faire certaine chose plus avancées !!

    J'ai encore une petite question j'ai fait comme mschoum m'a dit, couplé a la solution de nico_pouchet cela fonctionne, mais j'ai l'impression qu'il réparti les controls uniquement sur la moitié de la webpart !! ??

    Une idée ?

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR] mise en forme d'un champs texte en fonction des données
    Par niPrM dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 29/06/2004, 11h57
  2. [CR 9] Mise en forme non affichée when null
    Par Yorglaa dans le forum Formules
    Réponses: 2
    Dernier message: 28/06/2004, 17h27
  3. mise en forme rapide d'applets
    Par appletj dans le forum Applets
    Réponses: 11
    Dernier message: 03/06/2004, 13h28
  4. Mise en forme HTML
    Par Regis.C dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 25/04/2004, 11h55
  5. Mise en forme fichier avant Import
    Par jeff37 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/04/2004, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo