双击时突出显示单元格值以进行复制

时间:2011-11-30 22:32:56

标签: jqgrid jqgrid-php

我有一个jqGrid。我想突出显示一行中的特定单元格ondbClickRow。这将使得将单元格的值复制到剪贴板上的任务变得容易对用户而言。有人可以指导我如何做到这一点?谢谢!

1 个答案:

答案 0 :(得分:2)

一般来说,这是可能的,但您应该关闭行选择以立即看到突出显示。所以代码将是以下内容:

beforeSelectRow: function () {
    return false;
},
ondblClickRow: function (rowid, iRow, iCol, e) {
    $(e.target).toggleClass('ui-state-highlight');
}

结果你可以得到像

这样的网格

enter image description here

查看相应的演示here

更新:如果您需要选择网格单元格中的文字,您可以使用here所述的提示。如果在jqGrid中使用,代码可能如下:

var selectText = function (element) {
    var doc = element.ownerDocument, selection, range;
    if (doc.body.createTextRange) { // ms
        range = doc.body.createTextRange();
        range.moveToElementText(element);
        range.select();
    } else if (window.getSelection) {
        selection = window.getSelection();
        if (selection.setBaseAndExtent) { // webkit
            selection.setBaseAndExtent(element, 0, element, 1);
        } else { // moz, opera
            range = doc.createRange();
            range.selectNodeContents(element);
            selection.removeAllRanges();
            selection.addRange(range);
        }
    }
};

$("#list").jqGrid({
    // ... jqGrid options
    ondblClickRow: function (rowid, iRow, iCol, e) {
        selectText(e.target);
    }
});

next demo证明了这一点:

enter image description here