【问题标题】:slickgrid sort column with html link带有html链接的slickgrid排序列
【发布时间】:2013-10-20 15:26:06
【问题描述】:

我有与以下类似的 slickgrid 数据:

[{"id": 1, "docno":"<a href='link10.php'>Link 10</a>"},
{"id": 2, "docno":"<a href='link2.php'>Link 02</a>"}]

它可以通过数据视图进行过滤和排序,但由于存在 . 我正在考虑为它编写一个比较器,但不知道如何比较第 1 行和第 2 行。 到目前为止有什么改进的方法吗?

感谢

【问题讨论】:

  • docno 属性应该是一个数字,它不应该包含 HTML。然后您可以为其创建一个格式化程序以将其转换为 HTML。这样排序就可以在没有任何特殊比较器的情况下工作。
  • 使用 slick.formatter.js 在你的 slickgrid 中使用 HTML 元素

标签: javascript jquery sorting slickgrid


【解决方案1】:

由于 idbehold 和 Premshankar 都部分回答了这个问题,以下是您问题的完整答案:

var docNoFormatter = function(row, cell, value, columnDef, dataContext) {
  var docno = value ? value : "";
  return '<span><a href="link' + docno + '.php">' + docno + '</a></span>';
};

columns = [
  {id:"id", field:"id", name:"Document", formatter:docNoFormatter}
];

请注意,SlickGrid 始终需要具有唯一值的 id 字段。另请注意,在我的回答中,不需要slick.formatter.js,但如果您想更好地分离代码和/或使用一些预定义的 SlickGrid 格式化程序,例如percent-complete-bar,您可以使用此文件甚至添加您的将自己的格式化程序放入其中。

【讨论】:

    【解决方案2】:

    感谢您的回复。目前我为 slickgrid 开发了一个通用的 javascript 启动器,从技术上讲,我的数据是非常动态的,我不能像你提到的那样预设 docnoformatte。来自 PHP 的数据供应。

    为了平衡排序,并使用 dblclick open url 我设法用我的方式解决它:

    php端:

    $docno=$row["docno"]."<span class='hiddentcss'>".$row['id']."</span>";
    

    在javascript中:

    ...
    columns=[{id..... cssClass="docnocss",sortable:true}],...
    ...
    
    $(".docnocss").bind("dblclick",function(){
    var url="http://www.sample.com?id=";
    var id=$(this).children("span").html();
    window.open(url+id);
    });
    

    css 端:

    .hiddentcss{
    display:none
    }
    
    
       .docnocss:hover,{
            color:black;
            text-decoration: underline !important;
    
        }
    
      .docnocss,  {
            color:blue;
            text-decoration: none;
    
        }
    

    希望这对其他人有所帮助! KS

    【讨论】:

      猜你喜欢
      • 2012-01-11
      • 2013-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-28
      • 2012-03-23
      • 1970-01-01
      • 2015-10-26
      相关资源
      最近更新 更多