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.
Mivuno
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>
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>
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>