ASP.NET - DataList ਕੰਟਰੋਲ

DataList ਕੰਟਰੋਲ, ਜੋ ਕਿ Repeater ਕੰਟਰੋਲ ਨਾਲ ਸਮਾਨ ਹੈ, ਇਸ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਕੰਟਰੋਲ ਉਸ ਕੰਟਰੋਲ ਵਿੱਚ ਪ੍ਰਤੀਕਰਮੀ ਅਨੁਸਾਰੀ ਸੂਚੀ ਦਿਖਾਵੇ। ਪਰ, DataList ਕੰਟਰੋਲ ਮੂਲ ਤੌਰ 'ਤੇ ਸੂਚੀ ਅਨੁਸਾਰੀ ਵਿੱਚ ਟੇਬਲ ਜੋੜ ਦਿੰਦਾ ਹੈ。

DataSet ਨੂੰ DataList ਕੰਟਰੋਲ ਨਾਲ ਬਾਂਧੋ

DataList ਕੰਟਰੋਲ, ਜੋ ਕਿ Repeater ਕੰਟਰੋਲ ਨਾਲ ਸਮਾਨ ਹੈ, ਇਸ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਕੰਟਰੋਲ ਉਸ ਕੰਟਰੋਲ ਵਿੱਚ ਪ੍ਰਤੀਕਰਮੀ ਅਨੁਸਾਰੀ ਸੂਚੀ ਦਿਖਾਵੇ। ਪਰ, DataList ਕੰਟਰੋਲ ਮੂਲ ਤੌਰ 'ਤੇ ਸੂਚੀ ਅਨੁਸਾਰੀ ਵਿੱਚ ਟੇਬਲ ਜੋੜ ਦਿੰਦਾ ਹੈ। DataList ਕੰਟਰੋਲ ਨੂੰ ਡਾਟਾਬੇਸ ਟੇਬਲ, XML ਫਾਇਲ ਜਾਂ ਹੋਰ ਪ੍ਰੋਜੈਕਟ ਸੂਚੀ ਨਾਲ ਬਾਂਧਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਇੱਥੇ, ਅਸੀਂ XML ਫਾਇਲ ਨੂੰ DataList ਕੰਟਰੋਲ ਨਾਲ ਬਾਂਧਣ ਦੇ ਤਰੀਕੇ ਵਿਸ਼ੇਸ਼ ਕਰਕੇ ਦਿਖਾਵਾਂਗੇ。

ਅਸੀਂ ਨਿਮਨ ਲਿਸਟ ਵਿੱਚ ਵਰਤੇ ਜਾਣ ਵਾਲੇ XML ਫਾਇਲ ('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 فائل کو پیج کی پہلی لوڈنگ میں DataSet میں لائیں:

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

ਇਸ ਉਦਾਹਰਣ ਨੂੰ ਵਿਖਾਓ