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

C# Discussion :

iTextSharp - Ajout d'une cellule dans un tableau


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut iTextSharp - Ajout d'une cellule dans un tableau
    J'ai un petit soucis :

    Pour effectuer un ajout dans un tableau avec la librairie iTextSharp, j'utilise logiquement la fonction AddCell

    Cette fonction ajoute les nouveaux items comme suit :

    Col1 | Col2 | Col3
    -----------------
    It. 1 | It. 2|It. 3
    It. 4 | It. 5|It. 6

    J'aurais besoin de travailler comme suis :

    Col1 | Col2 | Col3
    -----------------
    It. 1 | It. 3|It. 5
    It. 2 | It. 4|It. 6

    Auriez vous une solution ?
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 116
    Par défaut
    Bonjour,

    je ne connais pas très bien iTextSharp mais,

    as tu essayé en modifiant petit à petit, la taille de ta table?
    La créée taille 1, ajouter les cellules, définir la taille à 2, ajouter les cellules, etc...

    Je te propose ça sans conviction car je ne sais pas tellement si on peut modifier la taille de la table en cours d’utilisation.

    De ce fait, les cellules irait directement de la première ligne à la seconde ligne, ne trouvant pas de colonne à droite au moment ou elles sont ajoutées.

    edit : en cherchant un peu j'ai trouvé ceci

    ::http://www.mikesdotnetting.com/Artic...oducing-Tables

    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
    PdfPTable table = new PdfPTable(4);
     
    table.TotalWidth = 400f;
     
    table.LockedWidth = true;
     
    PdfPTable nested = new PdfPTable(1);
     
    nested.AddCell("Nested Row 1");
     
    nested.AddCell("Nested Row 2");
     
    nested.AddCell("Nested Row 3");
     
    PdfPCell nesthousing = new PdfPCell(nested);
     
    nesthousing.Padding = 0f;
     
    table.AddCell(nesthousing);
     
    doc.Add(table);

    Ceci crée une pdfTable de taille 4.

    Ensuite, tu crée une pdfTable de taille 1, ou tu ajoutes tes cellules.

    Tu crée une pdfCell à partir de la second pdfTable, et tu ajoutes la pdfCell, à la première pdfTable.

    Tu auras donc tes 3 premiers item(dans l'exemple), dans la première colonne.

    Et ainsi de suite.

    Je pense que ceci correspond à ce que tu veux.

    Avec comme code :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    PdfPTable table = new PdfPTable(3);
     
    PdfPTable nestedCol1 = new PdfPTable(1);
     
    nestedCol1 .AddCell("item 1");
     
    nestedCol1 .AddCell("item 2");
     
     
    PdfPCell nesthousingCol1 = new PdfPCell(nestedCol1 );
     
    nesthousingCol1 .Padding = 0f;
     
    table.AddCell(nesthousingCol1 );
     
     
    //col 2
    PdfPTable nestedCol2 = new PdfPTable(1);
     
    nestedCol2 .AddCell("item 3");
     
    nestedCol2 .AddCell("item 4");
     
     
    PdfPCell nesthousingCol2 = new PdfPCell(nestedCol2 );
     
    nesthousingCol2 .Padding = 0f;
     
    table.AddCell(nesthousingCol2 );
     
    //col 3
    PdfPTable nestedCol3 = new PdfPTable(1);
     
    nestedCol3 .AddCell("item 5");
     
    nestedCol3 .AddCell("item 6");
     
     
    PdfPCell nesthousingCol3 = new PdfPCell(nestedCol3 );
     
    nesthousingCol3 .Padding = 0f;
     
    table.AddCell(nesthousingCol3 );
     
    doc.Add(table);
    Cordialement.

  3. #3
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    En fait tu ne définis pas de nombre de ligne au départ mais un nombre de colonne. Quand tu as remplis les x colonnes définies, il passe à la deuxième ligne et ainsi de suite.

    Ta solution n'est pas bête du tout j'avoue que je n'y avais pas pensé. Je vais tenter de mettre cela en œuvre demain dans mon code.

    Le but étant d'avoir un certain nombre de personnes classées par ordre alphabétique sur deux colonnes (donc pour ce cas il est plus facile de lire l'ordre de haut en bas que de gauche à droite si je suis assez clair).

    En tout cas merci pour le coup de pouce, j'avoue que je n'avais pas encore trop cherché la solution sur ce coup. Je posterais le résultat quand je l'aurais implémenté.
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

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

Discussions similaires

  1. Bordure d'une cellule dans un tableau
    Par hammag dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 24/08/2009, 19h45
  2. Supprimer une cellule dans un tableau
    Par Jinx_ dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 23/08/2009, 20h44
  3. [Tableaux] Ajout d'une donnée dans un tableau
    Par the magic developer dans le forum Langage
    Réponses: 7
    Dernier message: 04/11/2008, 19h24
  4. ajout d'une ligne dans un tableau
    Par gup dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/12/2007, 09h14
  5. [VBA] Problème récup texte d'une cellule dans un tableau
    Par Marco le Pouillot dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 30/01/2006, 17h06

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