Tutoriel sur le...login
Tutoriel sur les pages Web
auteur:php.cn  temps de mise à jour:2022-04-11 14:20:28

Liste de données des formulaires Web


ASP.NET Web Forms - Contrôle DataList


Le contrôle DataList, similaire au contrôle Repeater, est utilisé pour afficher les données liées au contrôle Liste d'éléments en double. Toutefois, le contrôle DataList ajoute par défaut une table aux éléments de données.


Lier DataSet au contrôle DataList

Le contrôle DataList, similaire au contrôle Repeater, est utilisé pour afficher une liste répétée d'éléments liés au contrôle. Toutefois, le contrôle DataList ajoute par défaut une table aux éléments de données. Le contrôle DataList peut être lié à une table de base de données, un fichier XML ou une autre liste d'éléments. Ici, nous allons montrer comment lier un fichier XML à un contrôle DataList.

Dans notre exemple nous utiliserons le fichier XML suivant ("cdcatalog.xml") :

<?xml version="1.0" encoding="ISO- 8859-1 "?>

<catalogue>
<cd>
<title>Empire Burlesque</title>
<artiste>Bob Dylan</artiste>
<pays>États-Unis</pays>
<entreprise>Columbia</entreprise>
<prix>10,90</prix>
<année>1985</année>
</cd>
<cd>
<title>Cachez votre cœur</title>
<artiste>Bonnie Tyler</artiste>
<pays>Royaume-Uni</pays>
<entreprise>CBS Records</entreprise>
<prix>9,90</prix>
<année>1988</année>
</cd>
<cd>
<title>Les plus grands succès</title>
<artiste>Dolly Parton</artiste>
<pays>États-Unis</pays>
<entreprise>RCA</entreprise>
<prix>9,90</prix>
<année>1982</année>
</cd>
<cd>
<title>J'ai toujours le blues</title>
<artiste>Gary Moore</artiste>
<pays>Royaume-Uni</pays>
<entreprise>Virgin records</entreprise>
<prix>10,20</prix>
<année>1990</année>
</cd>
<cd>
<title>Eros</title>
<artiste>Eros Ramazzotti</artiste>
<pays>UE</pays>
<entreprise>BMG</entreprise>
<prix>9,90</prix>
<année>1997</année>
</cd>
</catalogue>

Affichez ce fichier XML : cdcatalog.xml

Tout d'abord, importez l'espace de noms "System.Data". Nous avons besoin de cet espace de noms pour travailler avec les objets DataSet. Incluez la directive suivante en haut de la page .aspx :

<%@ Import Namespace="System.Data" %>

Ensuite, pour XML Le fichier crée un DataSet et charge ce fichier XML dans le DataSet lors du premier chargement de la page :

<script runat="server">
sub Page_Load
if Not Page. IsPostBack alors
​ dim mycdcatalog=Nouveau jeu de données
​ mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
end if
end sub

Ensuite, nous créons un contrôle DataList dans la page .aspx. Le contenu de l'élément <HeaderTemplate> est rendu en premier et n'apparaît qu'une seule fois dans la sortie, tandis que le contenu de l'élément <ItemTemplate> est répété pour chaque "enregistrement" du DataSet, et enfin, le contenu de l'élément <ItemTemplate> Élément FooterTemplate> Le contenu de n'apparaît qu'une seule fois dans la sortie :

<html>
<body>

<form runat="server">
< asp:DataList id="cdcatalog" runat="server">

<HeaderTemplate>
...
</HeaderTemplate>

< ;ItemTemplate>
...
</ItemTemplate>

<FooterTemplate>
...
</FooterTemplate>

</ asp:DataList>
</form>

</body>
</html>

Ensuite, nous ajoutons le script pour créer le DataSet et liez le DataSet mycdcatalog au contrôle DataList. Alors Remplissez le contrôle DataList avec un <HeaderTemplate> qui contient l'en-tête, un <ItemTemplate> qui contient les éléments de données à afficher et un <FooterTemplate> Veuillez noter que la propriété quadrillage de DataList peut être définie sur "both" pour afficher les bordures du tableau :

Instance

<%@ Import Namespace="System.Data" %>

<script  runat="server">
sub Page_Load
if Not Page.IsPostBack then
   dim mycdcatalog=New DataSet
   mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
   cdcatalog.DataSource=mycdcatalog
   cdcatalog.DataBind()
end if
end sub
</script>

<!DOCTYPE html>
<html>
<body>

<form runat="server">
<asp:DataList
id="cdcatalog"
gridlines="Both"
runat="server">

<HeaderTemplate>
My CD Catalog
</HeaderTemplate>

<ItemTemplate>
"<%#Container.DataItem("title")%>" of <%#Container.DataItem("artist")%>  - $<%#Container.DataItem("price")%>
</ItemTemplate>

<FooterTemplate>
© Hege Refsnes
</FooterTemplate>

</asp:DataList>
</form>

</body>
</html>

Exemple d'exécution»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne


Utiliser les styles

Vous pouvez également ajouter des styles au contrôle DataList pour rendre le sortie plus sophistiquée :

Instance

<%@ Import Namespace="System.Data" %>

<script  runat="server">
sub Page_Load
if Not Page.IsPostBack then
   dim mycdcatalog=New DataSet
   mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
   cdcatalog.DataSource=mycdcatalog
   cdcatalog.DataBind()
end if
end sub
</script>

<!DOCTYPE html>
<html>
<body>

<form runat="server">
<asp:DataList id="cdcatalog"
runat="server"
cellpadding="2"
cellspacing="2"
borderstyle="inset"
backcolor="#e8e8e8"
width="100%"
headerstyle-font-name="Verdana"
headerstyle-font-size="12pt"
headerstyle-horizontalalign="center"
headerstyle-font-bold="True"
itemstyle-backcolor="#778899"
itemstyle-forecolor="#ffffff"
footerstyle-font-size="9pt"
footerstyle-font-italic="True">

<HeaderTemplate>
My CD Catalog
</HeaderTemplate>

<ItemTemplate>
"<%#Container.DataItem("title")%>" of <%#Container.DataItem("artist")%>  - $<%#Container.DataItem("price")%>
</ItemTemplate>

<FooterTemplate>
© Hege Refsnes
</FooterTemplate>

</asp:DataList>
</form>

</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne exemple


Utilisation de <AlternatingItemTemplate>

Vous pouvez ajouter un élément <AlternatingItemTemplate> après l'élément <ItemTemplate> pour décrire l'apparence des lignes alternées dans la sortie. Vous pouvez ajouter des styles aux données dans la zone <AlternatingItemTemplate> à l'intérieur du contrôle DataList :

Instance

<%@ Import Namespace="System.Data" %>

<script  runat="server">
sub Page_Load
if Not Page.IsPostBack then
   dim mycdcatalog=New DataSet
   mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
   cdcatalog.DataSource=mycdcatalog
   cdcatalog.DataBind()
end if
end sub
</script>

<!DOCTYPE html>
<html>
<body>

<form runat="server">
<asp:DataList id="cdcatalog"
runat="server"
cellpadding="2"
cellspacing="2"
borderstyle="inset"
backcolor="#e8e8e8"
width="100%"
headerstyle-font-name="Verdana"
headerstyle-font-size="12pt"
headerstyle-horizontalalign="center"
headerstyle-font-bold="True"
itemstyle-backcolor="#778899"
itemstyle-forecolor="#ffffff"
alternatingitemstyle-backcolor="#e8e8e8"
alternatingitemstyle-forecolor="#000000"
footerstyle-font-size="9pt"
footerstyle-font-italic="True">

<HeaderTemplate>
My CD Catalog
</HeaderTemplate>

<ItemTemplate>
"<%#Container.DataItem("title")%>" of <%#Container.DataItem("artist")%>  - $<%#Container.DataItem("price")%>
</ItemTemplate>

<AlternatingItemTemplate>
"<%#Container.DataItem("title")%>" of <%#Container.DataItem("artist")%>  - $<%#Container.DataItem("price")%>
</AlternatingItemTemplate>

<FooterTemplate>
© Hege Refsnes
</FooterTemplate>

</asp:DataList>
</form>

</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne


Site Web PHP chinois