نمایش نتایج 1 تا 3 از 3

نام تاپیک: چندصفحه ی شدن خود کار

  1. #1
    کاربر دائمی
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    تهرانسر_ فاز5
    پست
    317

    چندصفحه ی شدن خود کار


    اقا سلام
    دوستان به نظر شما مثلا همین فروم دید که اگه یه تاپیکی تعدادپستهاش بیشتر از یه حد به شه خود به خود یه صفحه بهش اضافه می شه از چه تکنیکی استفاده شده
    :oops:

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    Iran
    پست
    801
    شما با رکوردستها که حتما آشنایی دارید. یک رکوردست مجموعه ای از رکوردهای داخل حافظه است. خب شما میتونید این رکوردست رو صفحه بندی کنید. یعنی بگید مثلا هر 10 تا رکورد یک صفحه باشه. اگر با استفاده از ADO یک رکوردست رو باز کنید شیی Recordset در ADO دارای یک خصوصیت به اسم PageSize هست. شما با مقدار دهی این خصوصیت تعیین میکنید که چند رکورد در هر صفحه باشد. بعد برای حرکت بین این صفحه ها میتونید از ویژگی AbsolutePage استفاده کنید. ویژگی PageCount هم تعداد صفحات را مشخص میکند.
    خب حالا اگر PageCount فرضا برابر 5 باشد، شما باید 5 صفحه برای نمایش سطرها ایجاد کنی. رفتن به صفحه بعدی یا قبلی رو هم از طریق مقداردهی AbsolutePage انجام میدی. (البته این به معنی این نیست که واقعا 5 صفحه ایجاد میکنی. میشه این جور تعریف کرد که هر بار که کاربر فرضا Next را کلیک کرد صفحه دوباره نمایش داده بشه و اطلاعات رو بر مبنای صفحه فعلی نمایش بده.)
    البته من چون خودم تجربه عملی در این زمینه ندارم شاید توضیحاتم خیلی کامل نباشه. اساتیدی مثل آقای نصیری و ... بهتر میتونن کمک کنند.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342
    خواهش می کنم! جواب شما یک راه حل است که جالب است.

    عموما برای اینکار در ASP معمولی و PHP می آیند یک حلقه درست می کنند و سپس برای مثال تعداد آیتم های یک صفحه را 10 در نظر می گیرند. حالا با این حلقه تک تک رکوردها ی مربوط به یک تاپیک را می خوانند و نمایش می دهند. هر جایی که شمارشگر حلقه قابل تقسیم بر 10 بود یعنی یک صفحه تمام شده و صفحه ی بعد را شروع می کنند. گذاشتن لینک هم بالا یا پایین صفحه برای این مورد یعنی ارجاع به صفحه ی بعد هم در پایان هر 10 شمارش انجام می شود.

    در ASP.NET این معضل توسط عمو بیلی حل شده است! شما به صورت ویژوال تعیین می کنید که یک گرید مانند اینجا چند row داشته باشد. در هنگام نمایش خود گرید بسیار توانمند ASP.NET کار Paging را خودکار انجام می دهد و برنامه نویس در گیر این جزئیات که باید یکبار برای همیشه حل شوند نمی شود.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •