اتصال کنترل Repeater در Code Behind با استفاده از Data Table

شنبه 12 دی 1394

در این مقاله قصد داریم داده های پایگاه داده ی خود را با استفاده از datatable از طریق code behind اطلاعات را در یک repeater نمایش دهیم.

اتصال کنترل Repeater در Code Behind با استفاده از Data Table

قبل از هر چیز ابتدا مقاله ی دانلود و نصب و استفاده از پایگاه داده 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 اطلاعات را نمایش می دهد.

خروجی به صورت زیر خواهد بود:

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید