jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – JQGrid:’beforeSelectRow’和’sortableRows’ – 排除列可拖动?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 Olegsuggestion来使用beforeSELEctRow事件来处理网格中单元格的点击.

奥列格在他的答案中的代码(我的答案完全模仿):

{ name: 'add',width: 18,sortable: false,search: false,formatter:function(){
    return "<span class='ui-icon ui-icon-plus'></span>"
}}
beforeSELEctRow: function (rowid,E) {
        var iCol = $.jgrid.getCellIndex(e.target);
        if (iCol >= firstButtoncolumnIndeX) {
        alert("rowid="+rowid+"\nButton name: "+buttonNames[iCol]);
    }

    // prevent row SELEction if one click on the button
    return (iCol >= firstButtoncolumnIndeX)? false: true;
}

问题是我的网格也是可排序的 – (我在网格上使用sortableRows方法).如果用户在单击单元格时稍微移动鼠标,则永远不会触发beforeSELEctRow事件(可排序事件).

这在大多数情况下都是可取的 – 但是,我认为解决这个问题的方法是以某种方式将列从“句柄”中排除以拖动(排序)行并让我的onSELEctRow事件触发这些列.我似乎无法弄清楚如何做到这一点!非常感谢任何帮助:)

解决方法

如果添加以下附加代码,则可以解决该问题
var grid = $('#list'),tbody = $("tbody:first",grid[0]),ptr,td;
grid.bind('mouSEOver',function(E) {
    var iCol = $.jgrid.getCellIndex(e.target);
    if (iCol >= firstButtoncolumnIndeX) {
        tbody.sortable("disable");
    } else {
        tbody.sortable("enable");
    }
});

如果鼠标将位于操作按钮上,则代码将禁用jqGrid的可排序功能.因此,您只能在另一列中对行进行排序.

您可以看到修改后的demo here.

大佬总结

以上是大佬教程为你收集整理的jquery – JQGrid:’beforeSelectRow’和’sortableRows’ – 排除列可拖动?全部内容,希望文章能够帮你解决jquery – JQGrid:’beforeSelectRow’和’sortableRows’ – 排除列可拖动?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。