مقدمه :

همانطور که در بخش مقدمه گفتیم ، کنترل 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 >     کد

مثال شماره ۲ : در مثال زیر کنترل 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 >     کد
Name    Family
Mohsen    Amiri
Ali    Rostami
Maryam    Soltani
Sohrab    Kashani
Behnam    Mosavi
خروجی

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

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

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

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