اتصال کنترل DetailsView به منبع داده و نمايش اطلاعات
مقدمه :
همانطور که در بخش مقدمه گفتيم ، کنترل DetailsView برای نمايش اطلاعات يک جدول بانک
اطلاعاتی در قالب يک ساختار جدولی به کار می رود ، که در هر صفحه آن ، اطلاعات يک رکورد
از جدول بانک اطلاعاتی نمايش داده می شود . در اين ساختار جدولی ، هر سطر جدول ، اطلاعات
يک فيلد ( Field ) دادهای از رکورد جاری را شامل می شود . اما این کنترل خود به صورت
مستقيم ، فادر نيست تا به منبع داده ای از قبيل پايگاه های داده SQL Server و يا Access
متصل شود و اطلاعات مورد نياز برای نمايش را دريافت کند . برای اين منظور بايد کنترل
DetailsView را به يک کنترل سرور داده همانند SqlDataSource و AccessDataSource که
خود قبلا به پايگاه داده متصل شده اند ، مرتبط ساخت . در اين حالت ، کنترل سرور داده
همانند يک پل بين کنترل DetailsView و پايگاه داده عمل کرده و اطلاعات را از جدول پايگاه
داده دريافت نموده و آن را برای نمايش به کنترل DetailsView ارسال می کند . در واقع
بين کنترل DetailsView و کنترل سرور داده پايگاه داده رابطه زير بر قرار است :
منبع داده ای

کنترل سرور داده

کنترل DetailsView
راهنمايي : برای آشنایی با نحوه عملکرد کنترل های
SqlDataSource و AccessDataSource
به بخش آموزش اين کنترل ها برويد .
نحوه اتصال کنترل DetailsView به کنترل های سرور داده :
برای اتصال يک کنترل DetailsView به يک کنترل سرور داده ، بايد مقدار خاصيت DataSourceID
کنترل DetailsView را برابر با مقدار ID کنترل سرور داده که می خواهيم کنترل DetailsView
به آن متصل شود ، قرار دهيم . برای مثال فرض کنيد که می خواهيم يک کنترل DetailsView
را به يک کنترل سرور داده SqlDataSource که ID آن برابر با SqlData1
است ، متصل کنيم . در اين حالت بايد مقدار خاصيت DataSourceID کنترل DetailsView را
برابر با مقدار ID کنترل SqlDataSource یعنی مقدار SqlData1
قرار دهيم . اين مثال را در نمونه کد زير به صورت عملی نشان داده ايم . در اين حالت
کنترل DetailsView اطلاعات را از کنترل SqlDataSource به عنوان کنترل سرور داده دريافت
کرده ، آنها را قالب بندی نموده و نمايش می دهد .
< asp:SqlDataSource ID="SqlData1" runat="server"
ConnectionString = " < %$ ConnectionStrings:UniverCityConnectionString
%> " SelectCommand = " SELECT * FROM Students " >
</asp:SqlDataSource>
< asp:DetailsView ID="DetailsView1" runat="server"
DataSourceID="SqlData1" >
< /asp:DetailsView >
|
مثال شماره 2 : در مثال زير کنترل DetailsView بالا را به يک کنترل
AccessDataSource متصل کرده ايم . همانطور که می بينيد ، تفاوتی در نحوه اتصال آنها
وجود ندارد . همچنين در اين مثال يک سطر با عنوان خروجی را نيز به جدول مثال اضافه
کرده ايم ، که کنترل DetailsView را در هنگام نمايش دادن اطلاعات دريافتی به صورت عملی
نشان می دهد . در اين مثال خاصيت صفحه بندی ( Paging ) را در کنترل DetailsView که
در بخش های بعدی به بررسی آن می پرادزيم ، فعال کرده ايم و به همين دليل می توانيد
بین رکوردهای جدول بانک اطلاعاتی حرکت کنيد :
< asp:AccessDataSource ID = " AccessData1 "
runat="server" DataFile = " ~/App_Data/UniverCity.mdb " SelectCommand
= " Select Name , Family From Students " > < /asp:AccessDataSource >
< asp:DetailsView ID="DetailsView1" runat="server"
DataSourceID="AccessData1" AllowPaging = " True " >
< /asp:DetailsView >
|
|
|
اتصال کنترل DetailsView به کنترل سرور داده در محيط طراحی نرم افزار Visual Studio
2005 :
همچنين می توان از طريق محيط طراحی ( Design ) نرم افزار ويژوال استوديو کنترل DetailsView
را به يک کنترل سرور داده متصل کرد . برای اين منظور بايد به روش زير عمل کرد :
- صفحه مورد نظر خود را در نرم افزار Visual Studio باز کرده و از منوی Toolbox و قسمت
Data يک کنترل DetailsView را بر روی صفحه قرار دهيد .
- يک کنترل سرور داده ( مثل SqlDataSource يا AccessDataSource ) را که می خواهيد کنترل
DetailsView به آن متصل شود را از Toolbox و قسمت Data بر روی صفحه قرار داده و آن
را به پايگاه داده مورد نظر متصل کرده و برای آن دستور
Select لازم را تعيين کنيد .
توجه : برای دريافت اطلاعات درباره نحوه تنظيم کنترل های سرور داده
به بخش آموزش کنترل های سرور داده
برويد .
- کنترل DetailsView را از روی صفحه انتخاب کرده و بر روی آن کليک سمت راست کنيد . از
منوی باز شده گزينه Show Smart Tag را انتخاب کنيد .يک منوی جديد باز می شود ،که دارای
سطری با عنوان Choose Data Source است ، که يک کادر کشویی نيز در مقابل آن قرار دارد
. از کادر کشویی ، ID کنترل سرور داده ای که می خواهيد کنترل DetailsView به آن متصل
شود را انتخاب کنيد .
نکته مهم : در کادر کشویی ذکر شده ، ID تمام کنترل های سرور داده
ای که بر روی صفحه مورد نظر قرار دارند ، به طور خودکار نمايش داده می شود .
اکنون کنترل DetailsView شما به کنترل سرور داده مورد نظر متصل شده و در هر بار اجرای
صفحه ، اطلاعات دريافتی را از کنترل سرور داده مرتبط با خود دريافت کرده و آن را به
صورت مرتب نمايش خواهد داد .