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 de données dans table HTML


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 58
    Points
    58
    Par défaut [VB.Net] Affichage de données dans table HTML
    Bonjour,

    Je débute en ASP.Net et je ne trouve pas le moyen de formater mes données provenant d'une BD comme en ASP !

    En ASP j'utilisais toujours <table></table> et je placais mes données où je voulais.

    J'ai vu qu'il existait le Datagrid, mais c'est moins souple pour positionner les données.
    En .NET il n'y a que le Datagrid pour faire ça ?

    Par exemple en ASP :



    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    <%
    strSql = "SELECT DATENAME(month,ExhDatedebut) as     ExhMonthdebut,DATENAME(month,ExhDatefin) as ExhMonthfin,* FROM Exhibition WHERE ExhDateFin > GETDATE() order by ExhDatedebut, ExhDateFin"
     
    rsRes.Open strSql,DataConn,1,3
    %>
     
    <p><strong>Forthcoming planned exhibitions <%'=year(rsRes("ExhDateDebut"))%></strong><br>
    			<br>
    <table width="100%" border="0" cellpadding="3" cellspacing="0">
                  <tr> 
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
    		<td>&nbsp;</td>
                  </tr>
                  <tr> 
                    <td colspan="5" align="center">&nbsp;</td>
                  </tr>
                  <tr> 
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td align="center">Booth</td>
                    <td>&nbsp;</td>
                  </tr>
                  <tr align="left">
                    <td colspan="5" class="tdAnchorLine">&raquo;
                    <%= day(rsRes("ExhDateFin"))%>&nbsp;<%= rsRes("ExhMonthFin") %>&nbsp;<%= year(rsRes("ExhDateFin"))%>
                    </td>
                </tr>
                <tr> 
                    <td align="right">&nbsp;</td>
                    <td>&nbsp;</td>
                    <td> 
                       <b><%= rsRes("ExhSalon")%></b> 
                       <br>
                       <%Response.Write rsRes("ExhLieu")%><br>
                       <%= rsRes("ExhIntitule")
    		</td>
                    <td align="center" >
                       <%Response.Write rsRes("Exhstand")%>
                    </td>
                    <td>
    		   <% IF rsRes("exSoldOut")=1 THEN %>
    			&nbsp;
    		   <% ELSE %>
    			<%= rsRes("id_Exhibition")%>
    		   <% END IF %>
    		</td>
                  </tr>
                  <%
    		rsRes.MoveNext
    		loop
    	      %>
                </table>
    <%
            rsRes.Close
    	Set rsRes = Nothing
    	DataConn.Close
    	Set DataConn = Nothing
    %>
    Y-a-t'il un moyen de faire la même chose en .Net ?

    Merci pour votre aide.

  2. #2
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    Salut;

    Tu essaye de travailler à l'ancienne avec ASP.NET, en ASP.NET il existe des controle ayant pour but d'éviter ces tâches d'ouvrir-fermer! utiliser un DataGrid manque de souplesse, utilise plutot un DataList
    ou un Repeater (toujours des controles ASPX)

    Cependant, il y as toujours la possibilités de faire ça manuelement, supposant que ta fini de récuperer tes donnée dans un DataSet

    tu fait genre:
    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
     
    <%
    // Ton DataSet s'appele ds
    %>
    <table>
    <%
    for(int i=0; i<ds.Tables["Resultats"].Rows.Count; i++){
    %>
    <tr>
    tes colones avec de l'ASP et tu appele les colonnes ainsi:
    ds.Tables["Resultats"].Rows[i]["NomDeLaColonneOuSonIndex"]
     
    </tr>
    }
    %>
    </table>
    <%
    %>

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 58
    Points
    58
    Par défaut
    Merci pour ta réponse, je vais essayer ça.

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 58
    Points
    58
    Par défaut
    J'ai oublié de préciser que j'étais en VB, désolé.

    Mais j'ai adapté ton exemple pour mon cas, merci.

    Toutefois un probléme persiste, j'ai un message d'erreur me disant que mon Dataset n'était pas déclaré.
    Pourtant je le déclare au début de ma page ASPX, avant le <html> dans un <script runat="server"> et je l'utilise dans le body afin de boucler sur mes TR.

    Est-ce que le probléme vient de là ?


    Voici mon 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
     
    <table>
    <tr><td>Salon</td></tr>
    <%
    Dim i as integer
    for(i<oDataSet.Tables["exhib"].Rows.Count){
    %>
    <tr>
    <td>
    <%
    oDataSet.Tables["exhib"].Rows[i]["exhsalon"]
    %>
    </td>
    </tr>
    <%
    next i
    }
    %>
    </table>
    Merci pour votre aide.

  5. #5
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    Salut;

    Vérifie si ton DataSet n'est pas déclaré private je pense que tu doit le déclarer public pour que ça marche,
    Désolé je ne sais pas comment dire public en VB en principe c'est shared ou truc comme ça, tu trouvera ça dans la doc!

    Edit: Si ça marche pas essaye de récupérer les données avec la présentation!

    a+

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 58
    Points
    58
    Par défaut
    Tout d'abord, merci Floyd pour le temps que tu me conssacres.

    J'ai essayé de tout mettre dans le body mais c'est pareil : Compiler Error Message: BC30451: Name 'oDataSet' is not declared.

    Voici mon 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
     
    <%@ Page Language="VB" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %>
     
    <html>
    <head>
    </head>
    <body>
    <script runat="server">
        Sub Page_Load(Sender As Object, E As EventArgs)
            Dim ConnectionString As String = "server=SERVNAME;database=DBNAME"
            Dim CommandText As String = "select * from exhibition order by exhDateDebut desc"
     
            Dim myConnection As New SqlConnection(ConnectionString)
            Dim myCommand As New SqlCommand(CommandText, myConnection)
     
            myConnection.Open()
     
            Dim oSqlDataAdapter As New SqlDataAdapter(CommandText, myConnection)
     
            Dim oDataSet As New DataSet("exhib")
            oSqlDataAdapter.Fill(oDataSet, "exhib")
    	End Sub
    </script>
    <br>
    <table>
    <tr><td>Salon</td></tr>
    <%
    Dim i as integer
    for(i < oDataSet.Tables("exhib").Rows.Count)
    %>
    <tr>
    <td>
    <%
    oDataSet.Tables("exhib").Rows(i)("exhsalon")
    %>
    </td>
    </tr>
    <%
    next i
    %>
    </table> 
    </body>
    </html>
    Merci pour votre aide.

  7. #7
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    Salut, désolé je ne peut pas exécuter de l'ASPX sur le ce PC mais je te signal que ta pas pris en considration ce que je té dit pour les autorisations mais essaye ça
    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
     
    <script runat="server">
        ' la portée par défaut membres est privé alors tu doit la rendre public
        ' et je ne sais pas comment vous faites ça en VB
        ' en principle c ça 
        public oDataSet As New DataSet("exhib") 
     
        Sub Page_Load(Sender As Object, E As EventArgs) 
            Dim ConnectionString As String = "server=SERVNAME;database=DBNAME" 
            Dim CommandText As String = "select * from exhibition order by exhDateDebut desc" 
     
            Dim myConnection As New SqlConnection(ConnectionString) 
            Dim myCommand As New SqlCommand(CommandText, myConnection) 
     
            myConnection.Open() 
     
            Dim oSqlDataAdapter As New SqlDataAdapter(CommandText, myConnection) 
     
     
            oSqlDataAdapter.Fill(oDataSet, "exhib") 
       End Sub 
    </script>

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 58
    Points
    58
    Par défaut
    Voila ça fonctionne !
    Merci pour tout Floyd !

    Je me suis inspirer aussi d'une de tes réponses dans un autre post en utilisant le DataTable.

    J'ai aussi déclaré mes variables en dehors du Sub (comme tu le préconisais )

    Merci et bon week-end

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

Discussions similaires

  1. Affichage des donnée de BD dans une page JSP
    Par sigway dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 13/10/2012, 20h49
  2. Réponses: 8
    Dernier message: 04/06/2009, 15h53
  3. Réponses: 6
    Dernier message: 06/09/2007, 15h19
  4. [VB.NET] Accéder aux données de Form2 dans Form1
    Par BigBEdwards dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/10/2006, 16h07
  5. [VB.NET] affichage de données dans un combobox
    Par lou87 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 22/02/2006, 10h25

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