我有类似下面的slickgrid数据:
[{"id": 1, "docno":"<a href='link10.php'>Link 10</a>"},
{"id": 2, "docno":"<a href='link2.php'>Link 02</a>"}]
它可以通过数据视图进行过滤和排序,但由于存在,排序顺序不正确。 我正在考虑为它编写一个比较器但是没有理想的比较第1行和第2行。 到目前为止还有改进措施吗?
THKS
答案 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