اتصال کنترل GridView به منبع داده و نمايش اطلاعات

مقدمه :

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

منبع داده ای       کنترل سرور داده       کنترل GridView   

راهنمايي : برای آشنایی با نحوه عملکرد کنترل های SqlDataSource و AccessDataSource به بخش آموزش اين کنترل ها برويد .


نحوه اتصال کنترل GridView به کنترل های سرور داده :

برای اتصال يک کنترل GridView به يک کنترل سرور داده ، بايد مقدار خاصيت DataSourceID کنترل GridView را برابر با مقدار ID کنترل سرور داده که می خواهيم کنترل GridView به آن متصل شود ، قرار دهيم . برای مثال فرض کنيد که می خواهيم يک کنترل GridView را به يک کنترل سرور داده SqlDataSource که ID آن برابر با SqlData1 است ، متصل کنيم . در اين حالت بايد مقدار خاصيت DataSourceID کنترل GridView را برابر با مقدار ID کنترل SqlDataSource یعنی مقدار ُSqlData1 قرار دهيم . اين مثال را در نمونه کد زير به صورت عملی نشان داده ايم .

Example
< asp:SqlDataSource   ID="SqlData1"   runat="server"   ConnectionString = " < %$ ConnectionStrings:UniverCityConnectionString %> "   SelectCommand = " SELECT * FROM Students " >
</asp:SqlDataSource>


< asp:GridView   ID="Gridview1"   runat="server"   DataSourceID="SqlData1" >
< /asp:GridView >
کد

مثال شماره 2 : در مثال زير کنترل GridView بالا را به يک کنترل AccessDataSource متصل کرده ايم . همانطور که می بينيد ، تفاوتی در نحوه اتصال آنها وجود ندارد . همچنين در اين مثال يک سطر با عنوان خروجی را نيز به جدول مثال اضافه کرده ايم ، که کنترل GridView را در هنگام نمايش دادن اطلاعات دريافتی به صورت عملی نشان می دهد :

Example
< asp:AccessDataSource   ID = " AccessData1 "   runat="server"   DataFile = " ~/App_Data/UniverCity.mdb "   SelectCommand = " Select Name , Family From Students " > < /asp:AccessDataSource >

< asp:GridView   ID="Gridview1"   runat="server"   DataSourceID="AccessData1" >
< /asp:GridView >
کد
NameFamily
MohsenAmiri
AliRostami
MaryamSoltani
SohrabKashani
BehnamMosavi
خروجی


اتصال کنترل GridView به کنترل سرور داده در محيط طراحی نرم افزار Visual Studio 2005 :

همچنين می توان از طريق محيط طراحی ( Design ) نرم افزار ويژوال استوديد کنترل GridView را به يک کنترل سرور داده متصل کرد . برای اين منظور بايد به ورش زير عمل کرد :

  1. صفحه مورد نظر خود را در نرم افزار Visual Studio باز کرده و از منوی Toolbox و قسمت Data يک کنترل GridView را بر روی صفحه قرار دهيد .
  2. يک کنترل سرور داده ( مثل SqlDataSource يا AccessDataSource ) را که می خواهيد کنترل GridView به آن متصل شود را از Toolbox و قسمت Data بر روی صفحه قرار داده و آن را به پايگاه داده مورد نظر متصل کرده و برای آن دستور Select لازم را تعيين کنيد .
    توجه : برای دريافت اطلاعات درباره نحوه تنظيم کنترل های سرور داده به بخش آموزش کنترل های سرور داده برويد .
  3. کنترل GridView را از روی صفحه انتخاب کرده و بر روی آن کليک سمت راست کنيد . از منوی باز شده گزينه Show Smart Tag را انتخاب کنيد .يک منوی جديد باز می شود ،که دارای سطری با عنوان Choose Data Source است ، که يک کادر کشویی نيز در مقابل آن قرار دارد . از کادر کشویی ، ID کنترل سرور داده ای که می خواهيد کنترل GridView به آن متصل شود را انتخاب کنيد .
    نکته مهم : در کادر کشویی ذکر شده ، ID تمام کنترل های سرور داده ای که بر روی صفحه مورد نظر قرار دارند ، به طور خودکار نمايش داده می شود .

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