是否可以停止选择和/或突出显示jqGrid行?

2021/01/24 18:41 · jquery ·  · 0评论

我查看了文档,但是找不到答案。有没有一种方法可以防止选中时突出显示行?甚至停止该行的一种方法都被选中。我喜欢“ hoverrows:true”选项,但理想情况下,我想停止单击时选择行。

谢谢,

更新:
我已经能够“偷偷地”实现似乎是临时修复的功能。
我一点都不喜欢它,如果有的话,理想情况下希望有一个更好的解决方案...

我发现如果我通过选项

onSelectRow: function(rowid, status) {
    $('#'+rowid).removeClass('ui-state-highlight');
}

实例化jqGrid时,可以在添加突出显示时将其剥离。

还有另一种更理想的方法吗?

使用以下代码:

beforeSelectRow: function(rowid, e) {
    return false;
}

如果您像我一样拥有庞大的jqGrids,并且不想为每个单独重写onSelectRow,那么以下是Reigel解决方案的全球版本,它对我来说非常有效:

jQuery.extend(jQuery.jgrid.defaults, {
    onSelectRow: function(rowid, e) {
        $('#'+rowid).parents('table').resetSelection();
    }
});

尝试:

onSelectRow: function(rowid, status) {
    $("#grid_id").resetSelection(); //Resets (unselects) the selected row(s). Also works in multiselect mode.
}

您可以在此处阅读文档希望对您有帮助...

我想您可以直接在CSS中解决此问题。只需为您的特定表覆盖ui-state-highlight的值

#table_id tr.ui-state-highlight {
  border: inherit !important;
  background: inherit !important;
  color: inherit !important;
}

#table_id tr.ui-state-highlight a {
  color: inherit !important;
}

#table_id tr.ui-state-highlight .ui-icon {
  background-image: inherit !important;
}

inherit仅以该值为例进行了说明-您可能需要从theme.css复制一些值才能完成此工作。

是的,使用rowattr回调:

rowattr: function (rowData,currentObj,rowId) {
    if (rowData.SomeField=="SomeValue") { 
        return {"class": "ui-state-disabled"};
    }
},

这也会使该行显示为灰色并禁用选择。

本文地址:http://jquery.askforanswer.com/shifoukeyitingzhixuanzehe-huotuchuxianshijqgridxing.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!