ASP.NET - DataList కంట్రోల్

DataList కంట్రోల్, Repeater కంట్రోల్ వంటి, ఈ కంట్రోల్లో పరిమితమైన ప్రతిపాదనల గురుతించబడిన జాబితాను ప్రదర్శించడానికి ఉపయోగిస్తారు. కానీ, DataList కంట్రోల్ మూలంగా డేటా అంశాలపై టేబుల్ను జోడిస్తుంది.

DataSet ను DataList కంట్రోల్కు జోడించడం

DataList కంట్రోల్, Repeater కంట్రోల్ వంటి, ఈ కంట్రోల్లో పరిమితమైన ప్రతిపాదనల గురుతించబడిన జాబితాను ప్రదర్శించడానికి ఉపయోగిస్తారు. కానీ, DataList కంట్రోల్ మూలంగా డేటా అంశాలపై టేబుల్ను జోడిస్తుంది. DataList కంట్రోల్ డేటాబేస్ పట్టిక, XML ఫైలు లేదా ఇతర ప్రతిపాదనల జాబితానికి జోడించబడవచ్చు. ఇక్కడ, మేము XML ఫైలును DataList కంట్రోల్కు జోడించడాన్ని చూపిస్తాము.

మేము క్రింది విండోస్ ఫైల్ని ఉదాహరణలో వాడుతాము ("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>

ఈ XML ఫైల్ని చూడండి:cdcatalog.xml

మొదట, "System.Data" పేరుపెట్టుబడిని దిగుమతి చేసుకుంటాము. మనం ఈ పేరుపెట్టుబడిని DataSet అంటోల్లో ఉపయోగించడానికి అవసరం. .aspx పేజీ పైభాగంలో ఈ ఆదేశాన్ని చేర్చుకుంటాము:

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

తరువాత, ఈ XML ఫైల్కు ఒక DataSet సృష్టిస్తాము మరియు ఈ XML ఫైల్ని పేజీ మొదటి సారి లోడ్ చేస్తాము:

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

అప్పుడు మేము .aspx పేజీలో ఒక DataList కంట్రోల్ సృష్టిస్తాము. <HeaderTemplate> మూలకంలోని విషయం ప్రస్తుతిలో ఒకసారి మాత్రమే కనిపిస్తుంది, కానీ <ItemTemplate> మూలకంలోని విషయం DataSet లోని "record" పునరావృతం కాగలదు, మరియు చివరగా, <FooterTemplate> మూలకంలోని విషయం ప్రస్తుతిలో ఒకసారి మాత్రమే కనిపిస్తుంది:

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

అప్పుడు మేము DataSet సృష్టించడానికి స్క్రిప్ట్ జోడించాము, మరియు ఈ mycdcatalog DataSet ను DataList కంట్రోల్కు బైండ్ చేశాము. మేము ఈ ఎలమెంట్లను కూడా ఉపయోగిస్తున్నాము ఈ DataList కంట్రోల్ను పూరించడానికి: శీర్షికను కలిగివున్న <HeaderTemplate>, ప్రదర్శించవలసిన డేటా అంశాలను కలిగివున్న <ItemTemplate>, మరియు పాఠం కలిగివున్న <FooterTemplate>. చూడండి, DataList యొక్క gridlines అట్రిబ్యూట్ ను "both" గా సెట్ చేశాము, ఇది పట్టిక కర్తవ్యాన్ని చూపిస్తుంది:

<%@ 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")%>" ఆఫ్
<%#Container.DataItem("artist")%> -
$<%#Container.DataItem("price")%>
</ItemTemplate>
<FooterTemplate>
కాపీరైట్ codew3c.com
</FooterTemplate>
</asp:DataList>
</form>
</body>
</html>

ఈ ఉదాహరణను చూపించు

షైలీజింగ్ ఉపయోగించండి

మీరు కూడా 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")%>" ఆఫ్
<%#Container.DataItem("artist")%> -
$<%#Container.DataItem("price")%>
</ItemTemplate>
<FooterTemplate>
కాపీరైట్ codew3c.com
</FooterTemplate>
</asp:DataList>
</form>
</body>
</html>

ఈ ఉదాహరణను చూపించు

ఉపయోగించండి <AlternatingItemTemplate>

మీరు <ItemTemplate> ఎలమెంట్ తర్వాత <AlternatingItemTemplate> ఎలమెంట్ జోడించవచ్చు, అలా మరియు ఆల్టర్నేటింగ్ వరుసల దృశ్యాన్ని వివరించవచ్చు. మీరు DataList కంట్రోల్లోని <AlternatingItemTemplate> భాగాన్ని షైలీజింగ్ చేయవచ్చు:

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

ఈ ఉదాహరణను చూపించు