ASP.NET - রিপিটার কন্ট্রোল

রিপিটার কন্ট্রোল ব্যবহার করা হয় পুনরাবৃত্ত প্রক্রিয়াকরণ তালিকা দেখানোর জন্য, যা এই কন্ট্রোলের মধ্যে সীমাবদ্ধ রয়েছে।

DataSet রিপিটার কন্ট্রোলের সাথে যুক্ত করা

রিপিটার কন্ট্রোল ব্যবহার করা হয় পুনরাবৃত্ত প্রক্রিয়াকরণ তালিকা দেখানোর জন্য, যা এই কন্ট্রোলের মধ্যে সীমাবদ্ধ রয়েছে।রিপিটার কন্ট্রোল ডাটাবেস টেবিল, XML ফাইল বা অন্যান্য প্রক্রিয়াকরণ তালিকার সাথে বাঁধা হতে পারে।এখানে, আমরা XML ফাইলটিকে রিপিটার কন্ট্রোলের সাথে যুক্ত করার পদ্ধতিকে দেখাব।

আমরা নিচের এই 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 পাতায় একটি Repeater কন্ট্রোল তৈরি করি।<HeaderTemplate> এলিমেন্টটির অন্তর্ভুক্ত কনটেন্টটি আউটপুটে একবার দেখা যায়, <ItemTemplate> এলিমেন্টটির অন্তর্ভুক্ত কনটেন্টটি DataSet-এর "record"-এর প্রতিটি পুনরাবৃত্তির জন্য দেখা যায়, এবং শেষত, <FooterTemplate> এলিমেন্টটির অন্তর্ভুক্ত কনটেন্টটি আউটপুটে একবার দেখা যায়:

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

পরে আমরা DataSet তৈরি করি, এবং এই mycdcatalog DataSet-কে Repeater কন্ট্রোলে বাঁধি, এমনকি HTML ট্যাগগুলিকেও এই Repeater কন্ট্রোলে পূর্ণ করি, এবং <%#Container.DataItem("fieldname")%> পদ্ধতিটি ব্যবহার করে ডাটা ইয়ার্ডটিকে <ItemTemplate> অংশের সেলে বাঁধি:

<%@ 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:Repeater id="cdcatalog" runat="server">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>

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

সেপারেটর টেম্পলেট এলিমেন্টটি ব্যবহার করুন

আপনি <ItemTemplate> এলিমেন্টের পরে <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:Repeater id="cdcatalog" runat="server">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr bgcolor="#e8e8e8">
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>

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

সেপারেটর টেম্পলেট এলিমেন্টটি ব্যবহার করুন

সেপারেটর টেম্পলেট এলিমেন্টটি রেকর্ডসমূহের মধ্যে সেপারেটর বর্ণনা করার জন্য ব্যবহৃত হয়।নিম্নলিখিত উদাহরণে, প্রতিটি টেবিল সারিতে একটি হরিজন্তু লাইন যোগ করা হয়:

<%@ 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:Repeater id="cdcatalog" runat="server">
<HeaderTemplate>
<table border="0" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>
<SeparatorTemplate>
<tr>
<td colspan="6"><hr /></td>
</tr>
</SeparatorTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>

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