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

ASP.NET Discussion :

[VB.NET] affichage dans un tableau créé dynamiquement


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 16
    Points : 11
    Points
    11
    Par défaut [VB.NET] affichage dans un tableau créé dynamiquement
    Salut,

    J'utilise ce code pour afficher des images contenues dans un dossier dans un tableau.

    cependant, je n'arrive pas à contrôler l'affichage à l'interieur des cellules :

    Images et labels s'affiche un à coté de l'autre et je n'arrive pas à ce que le label s'affiche au dessus ou au dessous de l'image dans la cellule..

    y-a-t-il une solution?

    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
    46
    47
     
     
       Dim nblignes, i, j, nb As Byte
            Dim Ligne As HtmlTableRow       
            Dim cellule As HtmlTableCell   
     
            Dim page
     
            page = Request("id")
     
     
            nblignes = Int(compteur / 3)
            nb = 0
     
            For i = 1 To nblignes + 1
                Ligne = New HtmlTableRow
                Ligne.BorderColor = "#3399FF"
                For j = 1 To 3  'Création des cellules
                    nb = nb + 1
                    If tabImage(nb) <> "" Then
     
                        cellule = New HtmlTableCell
                        cellule.Align = "middle"
     
                        Dim img As New System.Web.UI.WebControls.Image
                        img.ImageUrl = "D:\PARTAGE\BDD\Dossier 1\Éléments client\images " & page & "\" & tabImage(nb)
     
                        img.Width = System.Web.UI.WebControls.Unit.Pixel(160)
                        img.Height = System.Web.UI.WebControls.Unit.Pixel(125)
     
                        img.ToolTip = tabImage(nb)
     
                        Dim lbl As New System.Web.UI.WebControls.Label
     
                        lbl.Text = tabImage(nb)
                        lbl.ForeColor = System.Drawing.Color.White
     
                        cellule.Controls.Add(img)
     
                        cellule.Controls.Add(lbl)
     
                        Ligne.Cells.Add(cellule)  
                    End If
                Next
                tableau.Rows.Add(Ligne)       
            Next
        End Sub

  2. #2
    Membre du Club Avatar de fumesec
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    Bonsoir,

    En utilisant la propriété innerHtml de ta cellule de type "HtmlTableCell", tu devrais pouvoir ajouter du code HTML. Ce dernier te permettra de formatter ta cellule et d'utiliser la mise en forme que tu souhaites.
    Ainsi tu pourrais avoir un code similaire à celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cellule.innerhtml = "<b>Hello<b>"
    Le code ci-dessus affichera Hello.
    Tu devrais pouvoir utiliser cette propriét pour mettre en page tes labels et tes images.

    J'espère que cela t'aidera.

    @+

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    salut fumesec,

    merci pour ton aide! mais je me retrouve en fait devant un autre problème :

    J'utilise donc la propriété InnerHtml comme tu me l'as conseillé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    cellule.Controls.Add(lbl)
    cellule.InnerHtml = "<br>"
    cellule.Controls.Add(img)
    Ici, j'insère un label puis le code "<br>" ensuite une image, ce qui devrait en théorie mettre une ligne entre le label et l'image.. mais le label ne s'affiche pas..

    En fait toute les insertions que j'essaie de faire avant cellule.InnerHtml ne s'affichent pas

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 16
    Points : 11
    Points
    11
    Par défaut


    Amen :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    cellule.Controls.Add( lbl ) 
    cellule.Controls.Add( new LiteralControl("<br>"))
    cellule.Controls.Add(img)

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

Discussions similaires

  1. [XL-2007] Pb de stockage et affichage dans un tableau dynamique
    Par vbaexcelB dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 20/09/2013, 18h02
  2. Réponses: 1
    Dernier message: 13/05/2013, 15h47
  3. Réponses: 1
    Dernier message: 29/03/2013, 13h40
  4. Problème d'affichage dans un tableau
    Par claralavraie dans le forum ASP
    Réponses: 13
    Dernier message: 21/12/2005, 15h45
  5. [débutant]problèmes d'affichage dans un tableau
    Par Hastur dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 16/08/2005, 12h00

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