我正在使用点燃的数据表(用于代码点火器),我正在使用服务器端。我想根据它们的值以红色或绿色显示一些值。
这就是我在edit_column中调用函数的方式:
->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;
}
有什么建议吗?
谢谢:)
服务器端使用回调,一个简单而轻松的解决方案是创建一个 Codeigniter Helper 类。
因此,在您的代码中,更改 edit_column
的第三个参数:
->edit_column('releve_statut', '$1', 'label_this(releve_statut)')
最后,在帮助程序类中定义函数label_this($str)
。 不要忘记在调用 $this->datatables->generate()
之前加载它。
->edit_column('releve_statut', '$1', 'callback_label_this(releve_statut)');
源
不是这方面的专家,但我知道这是它在编码点火器其他地方的做法,所以虽然我无法测试,但这应该有效是有道理的
原创(仍然有点相关)这里你需要做的是有一个CSS样式表,这样
.bg-success{
color: green;
}
.bg-warning{
color: red;
}
这会将文本样式设置为彩色如果您想要彩色背景,请将颜色替换为背景颜色。
服务器端的回调函数对我不起作用:/
我所做的解决方案是将 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");
},
如果有人知道如何在服务器端做到这一点,如果您将其分享;)我会很高兴
谢谢!