سؤال

أنا أستخدم البرنامج المساعد TILLILLARD و Pager من هنا:http://tablester.com/docs/

أريد أن يقوم الجدول بعرض النتائج التي تبدأ في بدء تشغيل بعض المؤشرات المحددة - على سبيل المثال، إذا كان الفهرفي 14، فأنا أريد أن يعرض الجدول "صفحة" النتائج 11-20، لذلك يظهر صفي، بدلا من البدء في الافتراضي صفحة 1، عرض النتائج 1-10.

لدي هذا العمل كما هو متوقع، ولكن مع بعض الكود القبيح إلى حد ما ..

أولا، أعمل الصفحة التي يجب عرضها (C #):

int index = 24;
int pageToDisplayFirst = 1;
while (true)
{
    if (index - 10 > 0)
    {
        pageToDisplayFirst++;
        index -= 10;
    }
    else
    {
        break;
    }
}

ثم قمت بتعيين الصفحة بواسطة حلقة فظيعة:

for(var i = 0; i < <%= pageToDisplayFirst %>; i++) {
    $(".next").trigger("click");
}

هنا هو رمز التهيئة المسج، لا شيء خاص:

 $("table.tablesorter").tablesorter({
     cssAsc: 'sortasc', cssDesc: 'sortdesc', cssHeader: 'unsorted',
     sortList: [[0,0]]
 }).tablesorterPager({container: $("#pager")});

لذلك يمكن لأي شخص أن يقترح حلا أكثر أناقة، فعالة؟

هل كانت مفيدة؟

المحلول

أنا لا أعرف C # ولكن يمكنك القيام بذلك فقط:

pageToDisplayFirst = Math.floor(index / itemsPerPage + 1)

 //found this code in the plungin source
this.defaults = {
    size: 10,
    offset: 0,
    page: 0, <<<<
    totalRows: 0,
    totalPages: 0,
    container: null,
    cssNext: '.next',
    cssPrev: '.prev',
    cssFirst: '.first',
    cssLast: '.last',
    cssPageDisplay: '.pagedisplay',
    cssPageSize: '.pagesize',
    seperator: "/",
    positionFixed: true,
    appender: this.appender
};

ربما هذا سيعمل

$("table.tablesorter").tablesorter({
    cssAsc: 'sortasc', cssDesc: 'sortdesc', cssHeader: 'unsorted',
    sortList: [[0,0]]
}).tablesorterPager({container: $("#pager"), page: <%= pageToDisplayFirst %>});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top