单击行时突出显示 Jqgrid,但不选中多选复选框

Highlight Jqgrid when clicking on row but dont select the multiselect checkbox

本文关键字:复选框 Jqgrid 显示 单击      更新时间:2023-09-26

在jQgrid中,有没有一种方法可以在不选中多选行复选框的情况下单击一行然后突出显示?

我已经尝试过使用奥列格推荐的 Multiboxonly = true https://stackoverflow.com/a/3719637/853607

任何帮助都会很棒,因为这会阻止关键项目的进展。

也许你打错了。你说多框:是的,但实际上它是多框的:在实现中是真的。如果您使用仅限JavaScript的版本,这应该有效。如果您使用像 ASP.NEt 或PHP之类的包装器,则应查阅这些包装器的文档。

亲切问候

这是我单击一行而不选中复选框但突出显示的行的答案 - 返回 false 可确保不会触发 onSelectRow。 ps @tony 我有小写的多框。

beforeSelectRow: function (rowid, e) {
    //debugger;
    rowId = rowid;
    if ($("#jqg__tradesGrid_" + rowid).attr("disabled") || CommentsClicked) {
        CommentsClicked = false;
        return false;
    }
    if (e.target.type == "checkbox") {
        var blnChecked = $(e.target).is(":checked");
        var trElement = jQuery("#" + rowid, jQuery('#_tradesGrid'));
        if (!firstLoadWithRecords) {
            updateIdsOfSelectedRows(rowid, blnChecked);
        }
        if (blnChecked || $.inArray(rowid, idsOfSelectedRows) >= 0) {
            trElement.removeClass('ui-widget-content');
            trElement.addClass('ui-state-highlight');
        } else {
            trElement.removeClass('ui-widget-content');
            trElement.removeClass('ui-state-highlight');
        }
    } else {
        var blnChecked = $(e.target).is(":checked");
        var trElement = jQuery("#" + rowid, jQuery('#_tradesGrid'));
        trElement.removeClass('ui-widget-content');
        trElement.removeClass('ui-state-highlight');
    }

    //TODO: put in the style to chagne to silver when the checkbox is checked
    CommentsClicked = false;
    return false;
},