PDA

View Full Version : روش مناسب براي Paging در Listview



bftarane
جمعه 22 دی 1391, 22:31 عصر
سلام.
تا جايي که من مي دونم paging خود گريدويو مياد همه رکوردها رو واکشي مي کنه و اگه مثلاً 10 رکورد بخواي در يک صفحه نشون بدي و 1000 تا رکورد در جدولت باشه همه رو واکشي مي کنه بعد 10 تاش رو نشون مي ده که سرعت رو پايين مي ياره

مي خواستم بدونم در مورد ليست ويو و ديتاپيجر هم آيا همينطوره؟
يعني بهتره براي صفحه بندي ليست ويو از ديتاپيجر استفاده نشه؟

alonemm
شنبه 23 دی 1391, 04:22 صبح
باسلام:

در کل کنترل های دات نت بر اساس تعداد رکوردهایی که شما از پایگاه داده واکشی کردید به صورت مجازی این رکوردها رو بسته به تعداد دلخواه به نمایش در میارن.
که معمولا در تعداد رکوردهای کم مشکلی نداره اما اگر تعداد رکوردها خیلی زیاد باشه... سرعت لود ...
و در واقع اگر شما میخواهید عملیات پیجینگ رو مدیریت کنید باید به صورت دستی این عملیات رو انجام بدید.

در مقاله زیر نحوه پیاده سازی این عمل همراه با پروژه میباشد:

آموزش پیاده سازی Custom Paging در GridView با تکنولوژی Ajax (http://barnamenevis.org/showthread.php?322558-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-Custom-Paging-%D8%AF%D8%B1-GridView-%D8%A8%D8%A7-%D8%AA%DA%A9%D9%86%D9%88%D9%84%D9%88%DA%98%DB%8C-Ajax)

موفق باشید.

A.S.Roma
شنبه 23 دی 1391, 12:50 عصر
ترکیب کنترل ObjectDataSource و ListView و Datapager سریعترین روش برای پیاده سازی سناریوی شماست.
در کنترل ObjectDataSource خاصیتEnablePaging رو ست کنید. به طبع اون باید متد Selectتون بر اساس دو پارامتر PageIndex و PageSize ارسالی از سوی کنترل بتونه دیتای متناظر رو از دیتابیس بخونه.

همه اینا مستلزم استفاده از ORM هست :)