Codeigniter 点燃数据表,如何使用回调函数?
我使用的是Ignited数据表(对于codeigniter)和服务器端。 我想根据它们的值以红色或绿色显示一些值 下面是我如何调用edit_列中的函数:Codeigniter 点燃数据表,如何使用回调函数?,codeigniter,datatables,Codeigniter,Datatables,我使用的是Ignited数据表(对于codeigniter)和服务器端。 我想根据它们的值以红色或绿色显示一些值 下面是我如何调用edit_列中的函数: ->edit_column('releve_statut', '$1', $this->label_this('releve_statut')) 这就是我调用的函数: public function label_this($str) { if($str == "Réalisé"){ $r = label
->edit_column('releve_statut', '$1', $this->label_this('releve_statut'))
这就是我调用的函数:
public function label_this($str) {
if($str == "Réalisé"){
$r = label_badge('success', 'Réalisé');
} else if ($str == "En cours"){
$r = label_badge('warning', 'En cours');
}
return $r;
}
有什么建议吗
谢谢:)->编辑列('relev_statut','$1','callback_label_this(releve_statut');
我不是这方面的专家,但我知道这是如何在codeigniter的其他地方完成的,所以尽管我无法测试,但这应该是可行的
原创(仍然有点相关)
这里你需要做的是有一个CSS样式表
这会将文本设置为彩色
如果需要彩色背景,请用背景色替换颜色。服务器端的回调函数对我不起作用:/ 我所做的解决方案是在datatables初始化(客户端)中添加fnDrawCallback,每个“draw”事件都会调用该初始化
"fnDrawCallback": function( oSettings ) {
var $green = $('.statut-style').filter(function() {
return ($(this).text() == 'Réalisé');
});
// Set the green elements to color green
$green.addClass("badge bg-success");
},
如果有人知道如何在服务器端执行此操作,我很高兴与您分享;)
谢谢 如果您想在服务器端使用回调,一个简单而无痛的解决方案是创建Codeigniter助手类 因此,在代码中,更改
edit\u列的第三个参数
:
->edit_column('releve_statut', '$1', 'label_this(releve_statut)')
最后,在helper类中定义函数
label\u this($str)
。在调用$this->datatables->generate()
之前不要忘记加载它。我可以问一下label\u-badge函数是做什么的吗?我很想加入CSS解决方案,但我不太明白label\u-badge函数创建了什么标记,以及在哪里使用它来格式化文本。它创造了一个彩色徽章。函数标签_badge($type,$text){return'.$text.'';}问题是我的函数标签_this中的比较不起作用:/当我添加第三个else时,它会显示其中的值:else{$r='Error';}问题是比较不起作用。当我这样做时:if($str==“Réalisé”){$R='AAA';}else if($str==“En cours”){$R='BBB';}else{$R='Error';}结果是:“Error”!PS:数据库中的值是:enum(“”,'En cours','Réalisé')。我现在已经编辑了它,所以我认为这就是它应该是什么样子。答案是肯定的,但它仍然不起作用:/当我把代码放在我的表中时,它会显示这个值:callback_label_this(releve_statut)
->edit_column('releve_statut', '$1', 'label_this(releve_statut)')