1

我正在使用tablesorter jQuery 插件对我的表格进行一些排序。我正在使用的网站是在 .Net 3.5 中编程的,我正在使用 ASP.NET AJAX 和更新面板来执行我的异步页面更新。

我遇到的问题是在使用表格排序器时,我有一些列要禁用排序。我有以下 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
            } 
        });
    }

我要隐藏的列是第 9 列,一切正常。我将此代码放在 pageLoad 函数中,以便它可以在部分回发上运行,它确实如此。问题是我有一个链接按钮,它在页面上调用异步更新,这会更改表中的可见列。所以我需要隐藏的第 9 列变成了需要隐藏的第 12 列。我不确定用于重新连接隐藏列的正确方法,以便它显示:

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
            } 
        });
    }

而不是部分回发。基本上我需要做的是在部分回发时再次运行此代码(在 pageLoad 函数中它已经这样做了),但我还需要动态更改运行的 javascript 代码以禁用对正确列的排序。我很感激你能就这个问题提供任何见解。

4

1 回答 1

0

创建2个javascript方法,

  1. 在第一页加载时初始(用于 9 列),

  2. 下次你修改你的 cols (使 12 cols)。

最初直接从您的 javascript 代码中调用方法 1。在来自链接按钮的异步回发上,您可以使用调用第二个 javascript 方法

ScriptManager.RegisterStartupScript

希望这可以帮助。

于 2009-12-25T04:32:30.333 回答