اتصال کنترل Repeater در Code Behind با استفاده از Data Table
شنبه 12 دی 1394در این مقاله قصد داریم داده های پایگاه داده ی خود را با استفاده از datatable از طریق code behind اطلاعات را در یک repeater نمایش دهیم.
قبل از هر چیز ابتدا مقاله ی دانلود و نصب و استفاده از پایگاه داده NorthWind در SqlServer را مطالعه نمایید.
کنترل repeater و قالب آن:
کنترل repeater از قالب های زیر استفاده می کند.
header template:موضوع template در این قسمت قرار خواهد گرفت.
Itemtemplate:محتوای این الگو برای هر رکورد موجود در Datasource استفاده می شود.
AlternatingItemTemplate:برای اضافه کردن آیتم های متناوب استفاده می شود، برای نمایش طرح های مختلف برای موارد متناوب استفاده می شود.
SeparatorTemplate:برای جدا کردن آیتم ها از هم در کنترل repeater
FooterTemplate:در پایین ترین موقعیت قرار می گیرد و به عنوان بخش پایانی repeater قرار خواهد گرفت.
شما یک صفحه ی html ایجاد نمایید و یک repeater داخل آن قرار دهید و از headertemplate و یک footertemplate استفاده نمایید قسمت header و footer ثابت است ولی itemtemplate ها متغییر است
حالا قطعه کد به صورت زیر خواهد بود:
<asp:Repeater ID="rptCustomers" runat="server">
<HeaderTemplate>
<table cellspacing="0" rules="all" border="1">
<tr>
<th scope="col" style="width: 80px">
Customer Id
</th>
<th scope="col" style="width: 120px">
Customer Name
</th>
<th scope="col" style="width: 100px">
Country
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lblCustomerId" runat="server" Text='<%# Eval("CustomerId") %>' />
</td>
<td>
<asp:Label ID="lblContactName" runat="server" Text='<%# Eval("ContactName") %>' />
</td>
<td>
<asp:Label ID="lblCountry" runat="server" Text='<%# Eval("Country") %>' />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
در قسمت code behind فضای نام زیر را قرار دهید:
using System.Data; using System.Data.SqlClient; using System.Configuration;
حالا چگونه repeater خود را با استفاده از یک پایگاه داده پر نماییم:
در داخل رویداد بار کنترل repeater را با سوابق جدول مشتریان از پایگاه داده Northwind پر کرده ایم.
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindRepeater();
}
}
private void BindRepeater()
{
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("SELECT TOP 10 * FROM Customers", con))
{
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
sda.Fill(dt);
rptCustomers.DataSource = dt;
rptCustomers.DataBind();
}
}
}
}
که با استفاده از پایگاه داده Northwind اطلاعات جداول پر شده است و داخل repeater اطلاعات را نمایش می دهد.
خروجی به صورت زیر خواهد بود:

- ASP.net
- 2k بازدید
- 3 تشکر