ASP.NET - La commande de DataList |
Pour montrer une liste répétée d'articles qui sont liés à la commande, la commande de DataList est employée. Cependant, transférer près la commande de DataList ajoute une table autour des données élémentaires.
|
Lier un ensemble de données à une commande de DataList
|
Pour montrer une liste répétée d'articles qui sont liés à la commande, la commande de DataList est employée. Cependant, transférer près la commande de DataList ajoute une table autour des données élémentaires. La commande de DataList peut être liée à un dossier de XML, à une table de base de données, ou à une liste différente d'articles. Ici nous montrerons comment lier un dossier de XML à une commande de DataList.
Nous emploierons le dossier suivant de XML dans nos exemples (« cdcatalog.xml ») :
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<country>USA</country>
<company>RCA</company>
<price>9.90</price>
<year>1982</year>
</cd>
<cd>
<title>Still got the blues</title>
<artist>Gary Moore</artist>
<country>UK</country>
<company>Virgin records</company>
<price>10.20</price>
<year>1990</year>
</cd>
<cd>
<title>Eros</title>
<artist>Eros Ramazzotti</artist>
<country>EU</country>
<company>BMG</company>
<price>9.90</price>
<year>1997</year>
</cd>
</catalog>
|
|
Au début, importer le namespace de « System.Data ». Pour fonctionner avec les objets d'ensemble de données, nous avons besoin de ce namespace. Au dessus d'une page de .aspx, inclure la directive suivante :
|
<%@ Import Namespace="System.Data" %>
|
|
Après, créer un ensemble de données pour le dossier de XML et quand la page est d'abord chargée, charger le dossier de XML dans l'ensemble de données :
|
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
end if
end sub
|
|
Alors dans une page de .aspx, nous créons un DataList. Le contenu de l'élément de <HeaderTemplate> est rendu d'abord et seulement une fois dans le rendement et alors le contenu de l'élément de <ItemTemplate> est répété pour chaque « disque » dans l'ensemble de données, et dernier, le contenu de l'élément de <FooterTemplate> est rendu une fois dans le rendement :
|
<html>
<body>
<form runat="server">
<asp:DataList id="cdcatalog" runat="server">
<HeaderTemplate>
...
</HeaderTemplate>
<ItemTemplate>
...
</ItemTemplate>
<FooterTemplate>
...
</FooterTemplate>
</asp:DataList>
</form>
</body>
</html>
|
|
Alors nous ajoutons le manuscrit suivant qui crée l'ensemble de données et lie l'ensemble de données de mycdcatalog à la commande de DataList et remplissons également commande de DataList de <HeaderTemplate> qui contient l'en-tête de la table, de <ItemTemplate> qui contient les données élémentaires pour montrer, et de <FooterTemplate> qui contient un texte. Noter cela pour montrer des frontières de table, les gridlines que l'attribut du DataList est placé à « tous les deux » :
|
<%@ 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>
<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>
Copyright Hege Refsnes
</FooterTemplate>
</asp:DataList>
</form>
</body>
</html>
|
|
Employer des modèles
|
Pour faire pour produire plus de fantaisie, vous pouvez également ajouter des modèles à la commande de DataList :
|
<%@ 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>
<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>
Copyright Hege Refsnes
</FooterTemplate>
</asp:DataList>
</form>
</body>
</html>
|
|
Employer le <AlternatingItemTemplate>
|
Après l'élément de <ItemTemplate>, vous pouvez ajouter un élément de <AlternatingItemTemplate> pour décrire l'aspect des rangées alternatives de rendement et vous pouvez dénommer les données dans la section de <AlternatingItemTemplate> dans la commande de DataList :
|
<%@ 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>
<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>
|
|
|
|
Mots-clés :
ASP.NET en utilisant la commande de DataList, datalist net d'asp, datalist net de vb, commande nette d'asp, employer net de vb, employer net d'asp, employer de base visuel, contrôle de base visuel, en utilisant 6 de base visuels, datalist de c#, datagrid de datalist, datalist de msdn, pagination de datalist, c# en utilisant, datalist dynamique, dropdownlist de datalist, colonnes de datalist, sorte de datalist, checkbox de datalist, commande de datagrid, datalist databinding, databind de datalist, datasource de datalist, éditent le datalist, table de datalist, datalist de répéteur, commande de répéteur, hyperlien de datalist, ensemble de données de datalist, commande de dropdownlist, en-tête de datalist, datalist choisi, bouton de datalist, xml de datalist, datalist s'ajoutent
|