2

我在 jqgrid 中有 colmodel,它具有“名称”和“描述”列,我需要将描述显示为工具提示,同时将鼠标悬停在“名称”列上。

假设我有这个模型,例如:

colModel: [
    {
        name: "name",..
        cellattr: function (rowId, val, rawObject, cm, rdata) {
            return 'title=' + rawObject[1];
        }
    },
    {name : "description",..},
],

数据呈现为工具提示,但如果我将描述为“低级标准”,则工具提示为“低”。

理想情况下,它会忽略空格之后的所有文本。

我该如何解决?我是 jqGrid 的新手。如果可能,请详细解释谢谢

4

2 回答 2

3

您应该以空格开始返回值。的确切格式rawObject可能取决于很多事情:以哪种格式填充网格数据。因此,您应该验证是否应该使用 index likerawObject[1]或 name like rawObject.description。所以解决方案可能就像

cellattr: function (rowId, val, rawObject) {
    return ' title="' + rawObject[1] + '"';
}

或喜欢

cellattr: function (rowId, val, rawObject) {
    return ' title="' + rawObject.description '"';
}

取决于您使用的数据格式(以及 的格式rawObject)。我添加"到标题。

顺便说一句,你可以看到我cm, rdata从回调中删除,因为我们不在那里使用。

于 2013-05-17T17:59:33.543 回答
0

Oleg 正确答案的一个补充:如果您需要多次应用工具提示,您可能需要声明一个函数,如下所示:

var addFullNameAsTooltip = function(rowId, val, rawObject, cm, rdata) {
    return ' title="' + rawObject.firstName + " " + rawObject.lastName + '"';
  };

并按以下方式使用它:

// see: https://free-jqgrid.github.io/getting-started/
// CDN used: https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid
$(function() {

  var addFullNameAsTooltip = function(rowId, val, rawObject, cm, rdata) {
        return ' title="' + rawObject.firstName + " " + rawObject.lastName + '"';
      };

  $("#grid").jqGrid({
    autowidth: true, height: 45, 
    colNames: ['First name', 'Last name', 'Updated?'],
    colModel: [
      {name: "firstName", cellattr: addFullNameAsTooltip}, 
      {name: "lastName", cellattr: addFullNameAsTooltip}, 
      {name: "updated"}],
    data: [
      { id: 10, firstName: "Jane", lastName: "Doe", updated: "no"},
      { id: 20, firstName: "Justin", lastName: "Time", updated: "no" }
    ]
    
  });
});
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<title>Canonical jqGrid example</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.15.2/css/ui.jqgrid.min.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.15.2/jquery.jqgrid.min.js"></script>

<table id="grid"></table>

在上面的代码片段中,全名作为工具提示添加到名字姓氏列。

于 2018-04-04T12:12:45.657 回答