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> ইউনিটের কনটেন্ট ডাটাসেটের "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>

এই উদাহরণ দেখান