带有html链接的slickgrid排序列

时间:2013-10-12 17:10:16

标签: javascript jquery sorting slickgrid

我有类似下面的slickgrid数据:

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

它可以通过数据视图进行过滤和排序,但由于存在,排序顺序不正确。 我正在考虑为它编写一个比较器但是没有理想的比较第1行和第2行。 到目前为止还有改进措施吗?

THKS

2 个答案:

答案 0 :(得分: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),则可以使用此文件甚至可以在其中添加自己的格式化程序。

答案 1 :(得分:0)

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

为了平衡排序,并使用dblclick打开网址,我设法用我的方式解决它:

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