سؤال

أنا أستخدم Tablesorter المكون الإضافي jQuery للقيام ببعض الفرز من طاولاتي. يتم برمجة الموقع الذي أستخدمه على هذا في .NET 3.5 وأنا أستخدم ASP.NET AJAX و UpdatePanels لأداء تحديثات صفحتي غير المتزامنة.

المشكلة التي أركض فيها هي عند استخدام SARTER TABLE ، لدي بعض الأعمدة التي أريد تعطيل الفرز. لدي رمز JavaScript التالي للقيام بذلك ،

function pageLoad(sender, args) {
        // Set table sorting in the load event so this takes care of partial page postbacks
        $$("gvRosters").tablesorter({
            sortList: [[0, 0]],
            widgets: ['zebra'],
            8: {
               // disable it by setting the property sorter to false
               sorter: false
            } 
        });
    }

العمود الذي أريد إخفاءه هو العمود التاسع ، وكل شيء يعمل بشكل جيد. لقد وضعت هذا الرمز في وظيفة pageload بحيث يتم تشغيله على Postbacks جزئي ، وهو ما يفعله. المشكلة هي أن لديّ Linkbutton يطلق تحديثًا غير متزامن على الصفحة التي تغير الأعمدة المرئية في الجدول الخاص بي. لذا فإن العمود التاسع الذي أحتاج إلى إخفاءه يصبح العمود الثاني عشر الذي يحتاج إلى إخفاءه. لست متأكدًا من النهج الصحيح لاستخدامه لإعادة توصيل العمود المخفي بحيث يقرأ:

function pageLoad(sender, args) {
        // Set table sorting in the load event so this takes care of partial page postbacks
        $$("gvRosters").tablesorter({
            sortList: [[0, 0]],
            widgets: ['zebra'],
            11: {
               // disable it by setting the property sorter to false
               sorter: false
            } 
        });
    }

بدلا من ذلك على postback جزئي. في الأساس ما أحتاج إلى القيام به هو تشغيل هذا الرمز مرة أخرى على Postbial Postback (وهو ما يفعله بالفعل عندما يكون داخل وظيفة pageload) ولكن أحتاج أيضًا إلى تغيير رمز JavaScript الذي يتم تشغيله بشكل ديناميكي من أجل تعطيل الفرز على العمود الصحيح. أنا أقدر أي رؤية يمكنك تقديمها حول هذه المشكلة.

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

المحلول

قم بإنشاء 2 طرق JavaScript ،

  1. الأولي في تحميل الصفحة الأولى (وهو 9 كولز) ،

  2. في المرة القادمة التي تقوم فيها بتعديل كولزك (يصنع 12 كولو).

في البداية ، استدعاء الطريقة 1 مباشرة من رمز JavaScript الخاص بك. وعلى Asyn Postback من LinkButton ، يمكنك الاتصال بطريقة JavaScript الثانية باستخدام

ScriptManager.RegisterStartupScript

أتمنى أن يساعدك هذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top