پیاده سازی DetailsView در ASP.NET

چهارشنبه 10 تیر 1394

در این مقاله خواهیم آموخت که چگونه می توانیم با استفاده از SqlDataSource در ASP.Net یک DetailsView ایجاد کنیم. همچنین در این مقاله نحوه صفحه بندی کنترل DetailsView را می آموزیم.

پیاده سازی DetailsView در ASP.NET

در اینجا نحوه پیاده سازی یک DetailsView با استفاده از SqlDataSource و همچنین صفحه بندی این DetailsView را آموزش خواهیم دید.

پایگاه داده:

در بانک اطلاعاتی SqlServer یک پایگاه داده با اسم Customer ایجاد می کنیم. در این پایگاه داده یک جدول با نام Customers ساخته و فیلدهایی که در شکل زیر میبیند در این جدول وارد می کنیم

در این جدول چند رکورد درج می کنیم. زیرا این اطلاعات باید برای ما به نمایش دربیایند.

رشته اتصال به بانک اطلاعاتی:

حال در برنامه کاربردی تحت وب که ایجاد کردیم، رشته اتصال را تنظیم می کنیم. برای این کار روشی را به شما معرفی می کنیم تا بدون خطا بتوانید به بانک اطلاعاتی متصل شوید.

در Visual Studio پنجره Server Explorer را باز می کنیم. و برروی Data Connection کلیک راست کرده و Add Connection را انتخاب می کنیم. 

حال در پنجره باز شده اطلاعات را به درستی وارد کرده و به ادامه کار می پردازیم.

با انتخاب OK به مرحله بعد بروید.

حال می بینید که پایگاه داده شما به برنامه اضافه شد.

برروی نام پایگاه داده کلیک راست کنید و گزینه Modify Connection را انتخاب کنید.

در پنجره باز شده ابتدا گزینه Advance را انتخاب کنید و در پنجره جدید رشته مشخص شده را کپی کنید.

رشته مورد نظر را در فایل Web.config در بخش connection string جاگذاری می کنیم.

رشته اتصال به صورت زیر خواهد بود.

 <connectionStrings>
        <add name="constr" connectionString="Data Source=.;Initial Catalog=Customer;Persist Security Info=True;User ID=sa; password=123"/>
    </connectionStrings>

کدهای HTML که در بالا دیدیم، متشکل شده از یک کنترل ASP.Net DetailsView به همراه ستون های BoundField و کنترل SqlDataSource.

AutoGenerateRows:

این خصوصیت برای غیر فعال کردن نمایش اتوماتیک رکوردهای پایگاه داده است. عموما وقتی که BoundField و ستون های TemplateField مورد استفاده هستند، این خصوصیت نیاز دارد که با False تنظیم شود زیرا به صورت پیش فرض این خصوصیت True است.

AllowPaging:

برای فعال کردن صفحه بندی در کنترل DetailsView، خصوصیت AllowPaging باید با True تنظیم شود. به صورت پیش فرض صفحه بندی در کنترل DetailsView غیر فعال است.

SqlDataSource:

ID در کنترل SqlDataSource برای کنترل DetailsView به عنوان DataSourceID تنظیم شده است. خصوصیت ConnectionString در SqlDataSource بوسیله مشخص شدن نام تنظیمات connection string در فایل Web.config تنظیم شده است.

کنترل SqlDataSource با یک SelectCommand که Select Query را برای جدول Customers اجرا می کند و رکوردها را برای نمایش در کنترل DetailsView استخراج می کند، مشخص می شود.

<body dir="rtl">
    <form id="form1" runat="server">
    <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="false" AllowPaging="true"
        DataSourceID="SqlDataSource1">
        <Fields>
            <asp:BoundField DataField="CustomerId" HeaderText="کد مشتری" HeaderStyle-CssClass="header" />
            <asp:BoundField DataField="Name" HeaderText="نام" HeaderStyle-CssClass="header" />
            <asp:BoundField DataField="City" HeaderText="شهر" HeaderStyle-CssClass="header" />
        </Fields>
    </asp:DetailsView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:constr %>"
        SelectCommand="SELECT CustomerId, Name, City FROM Customers"></asp:SqlDataSource>
    </form>
</body>

خروجی حاصل از اجرای برنامه را ببینید.

 

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

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

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

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

تاکنون هیچ کاربری از این پست تشکر نکرده است

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