ASP.NET - Kikapteni cha DataList

Kikapteni cha DataList, kama Kikapteni cha Repeater, kinatumika kuguonyesha orodha ya majadiliano yenye uwezo wa kugawanyika kwa kikapteni hicho. Kikapteni cha DataList kinakosa kumaliza tabia kwa majadiliano ya data.

Kubonyeja DataSet kwa Kikapteni cha DataList

Kikapteni cha DataList, kama Kikapteni cha Repeater, kinatumika kuguonyesha orodha ya majadiliano yenye uwezo wa kugawanyika kwa kikapteni hicho. Kikapteni cha DataList kinakosa kumaliza tabia kwa majadiliano ya data. Kikapteni cha DataList kinaweza kuwabonyeja kwa jadili ya database, faili ya XML au orodha ya majadiliano mengine. Hapa, tunatunza kusoma hata kikapteni cha DataList kinaweza kuwabonyeja kwa faili ya XML.

Tunatumi kwa mivuno iliyotumiwa hapa ni: ("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>

Tazama faili ya XML hii:cdcatalog.xml

Kwanza, ingia katika nafasi ya "System.Data". Tunaagiza nafasi hii na kufanya kazi na kikoa DataSet. Tukianza inaruhusiwa kwenye kichwa cha ukurasa .aspx:

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

Kisha, tukianza DataSet kwa faili ya XML hii, na tukilinda faili hii ya XML wakati wa kwanza wa ulozi wa ukurasa:

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

Kisha hivi, tukianza DataList kwenye ukurasa .aspx. Muagizo wa <HeaderTemplate> hupatikia mara moja pekee katika muagizo, na muagizo wa <ItemTemplate> hupatikia mara moja kwa kila 'record' katika DataSet, na kisha, muagizo wa <FooterTemplate> hupatikia mara moja pekee:

<html>
<body>
<form runat="server">
<asp:DataList id="cdcatalog" runat="server">
<HeaderTemplate>
...
</HeaderTemplate>
<ItemTemplate>
...
</ItemTemplate>
<FooterTemplate>
...
</FooterTemplate>
</asp:DataList>
</form>
</body>
</html>

Kisha tunaeongeza skripta ambao huzungumza DataSet, na tunakubinda mycdcatalog DataSet kwa DataList. Tunatumia element hizi pia kumakua DataList: <HeaderTemplate> ambao ina kichwa cha jadua, <ItemTemplate> ambao ina majadiliano ya data ya kweli, na <FooterTemplate> ambao ina matukio. Tunaonyesha matukio ya DataList gridlines kwa "both" kuonyesha ukurasa jadua:

<%@ 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")%>" ya
<%#Container.DataItem("artist")%> -
$<%#Container.DataItem("price")%>
</ItemTemplate>
<FooterTemplate>
Copyright codew3c.com
</FooterTemplate>
</asp:DataList>
</form>
</body>
</html>

Onyesha mifano hii

Tumia hali

Inauze uweza kuongeza hali kwa DataList kwa kumakua kweli:

<%@ 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")%>" ya
<%#Container.DataItem("artist")%> -
$<%#Container.DataItem("price")%>
</ItemTemplate>
<FooterTemplate>
Copyright codew3c.com
</FooterTemplate>
</asp:DataList>
</form>
</body>
</html>

Onyesha mifano hii

Tumia <AlternatingItemTemplate>

Inauze uweza kuongeza <AlternatingItemTemplate> kisha unaweza kueleza ujaribio wa mabara yenye rangi tofauti ya <ItemTemplate> kwa DataList kwa kumizaa hali:

<%@ 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")%>" ya
<%#Container.DataItem("artist")%> -
$<%#Container.DataItem("price")%>
</ItemTemplate>
<AlternatingItemTemplate>
"<%#Container.DataItem("title")%>" ya
<%#Container.DataItem("artist")%> -
$<%#Container.DataItem("price")%>
</AlternatingItemTemplate>
<FooterTemplate>
© codew3c.com
</FooterTemplate>
</asp:DataList>
</form>
</body>
</html>

Onyesha mifano hii