شما میتوانید از کنترلهای Repeater, DataList, DataGrid, GridView برای نمایش داده به صورت جدول استفاده کنید. همواره سعی کنید سریعترین و کوچکترین کنترل را برای نیازهایتان انتخاب کنید. برای انتخاب یک کنترل مناسب ابتدا باید نیازهای خود را مشخص کنید:
اگر به دنبال یک کنترل سریع و ساده میگردید از GridView استفاده کنید
اگر به دنبال یک کنترل سبک وزن و فقط خواندنی میگردید از Repeater استفاده کنید
اگر به دنبال یک کنترل سریع و سبک وزن میگردید از Repeater یا DataList استفاده کنید
اگر به دنبال کنترلی میگردید که بتوانید آن را به شکل الگوی صفحه خود در آورید از Repeater یا DataList استفاده کنید
اگر میخواهید بتوانید سطرها را انتخاب کرده یا محتوای جدول را ویرایش کنید از DataList یا DataGrid یا GridView استفاده کنید
اگر به دنبال کنترلی میگردید که قابلیت مرتب سازی داده ها زمان نمایش داشته باشد از GridView استفاده کنید
اگر میخواهید صفحه بندی دلخواه خود را اعمال کنید از DataGrid استفاده کنید
Asp.net چهار گزینه مختلف برای نمایش داده ها به صورت جدول دارد: Repeater, DataList, DataGrid, GridView . هرکدام از این کنترلها مزایا و معایب ویژه خود را دارند. مثلا GridView بسیار انعطاف پذیر و همه کاره است اما در مقایسه با دیگر کنترلها بازدهی کمتری دارد چرا که پردازش آن زمان بیشتری میگیرد. از سوی دیگر Repeater بسیار سبک و ساده است اما فقط خواندنی است و چنانچه بعدا بخواهید داده ها ویرایش کنید به مشکل برخواهید خورد و محبور خواهید بود که از یکی دیگر از 3 کنترل باقی مانده استفاده کنید.
مساله بازدهی آنجا مطرح میشود که asp.net برای هر عنصر یک GridView یا DataGrid یک کنترل ایجاد میکند، حتی برای فضاهای خالی آنها که به صورت کنترل Literal پیاده سازی میشود. هر یک از این کنترلها میبایست توسط asp.net به خروجی HTML مناسب تبدیل شوند. بنابراین این دو کنترل سنگین وزن هستند چرا که سرور مجبور است برای ایجاد خروجی پردازش زیادتری انجام دهید. و این در حالی است که DataList سبک وزن تر و Repeater سبک وزن ترین است.
در جدول زیر میتوانید ویژگی های ذاتی هر یک از این کنترلها را دیده و آنها را با هم مقایسه کنید.
ویژگی
|
Repeater control
|
DataList control
|
DataGrid control
|
GridView control
|
ظاهر پیش فرض
|
ندارد
|
جدول
|
جدول
|
جدول
|
به طور خودکار ستونهای مورد نظر را با توجه به منبع داده ایجاد میکند
|
خیر
|
خیر
|
بله
|
بله
|
سربرگ میتوانند به شکل دلخواه درآورده شود
|
بله
|
بله
|
بله
|
بله
|
سطرها میتوانند به شکل دلخواه درآورده شوند
|
بله
|
بله
|
بله
|
بله
|
قادر به سفارشی کردن یکی در میان سطرها است
|
بله
|
بله
|
بله
|
بله
|
قادر به استفاده از یک مجزا کننده دلخواه برای سطرها است
|
بله
|
بله
|
خیر
|
بله
|
ته برگ میتوانند به شکل دلخواه درآورده شود
|
بله
|
بله
|
بله
|
بله
|
قابلیت صفحه بندی را دارد
|
خیر
|
خیر
|
بله
|
بله
|
قابلیت صفحه بندی دلخواه را دارد
|
خیر
|
خیر
|
بله
|
خیر
|
قابلیت مرتب سازی را دارد
|
خیر
|
خیر
|
بله
|
بله
|
قابلیت ویرایش محتوا را دارد
|
خیر
|
بله
|
بله
|
بله
|
قابلیت انتخاب یک سطر را دارد
|
خیر
|
بله
|
بله
|
بله
|
قابلیت انتخاب چند سطر را دارد
|
خیر
|
خیر
|
خیر
|
خیر
|
قابلیت چینش داده ها را به صورت افقی یا عمودی دارد
|
خیر
|
بله
|
خیر
|
خیر
|
قابلیت مرتب سازی و صفحه بندی به صورت غیرهمگام را دارد
|
خیر
|
خیر
|
خیر
|
بله
|
بازهم تاکید میکنیم که موارد مربوط به بازدهی کنترل را نیز در نظر بگیرید. علاوه بر آن مسائل دیگری نیز وجود دارد. شما نمیتوانید DataGrid و GridView را از نظر ظاهری به هر شکلی که میخواهید درآورید. اگرچه این کنترلها قابلیت این که تا حدودی سفارشی شوند را دارند اما ساختار جدولی آنها در بسیاری موارد ممکن است آن چیزی نباشد که شما میخواهید. منبع :
ASP.NET Cookbook, 2nd Edition
By Michael A. Kittel