Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter 点燃数据表,如何使用回调函数?_Codeigniter_Datatables - Fatal编程技术网

Codeigniter 点燃数据表,如何使用回调函数?

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

我使用的是Ignited数据表(对于codeigniter)和服务器端。 我想根据它们的值以红色或绿色显示一些值

下面是我如何调用edit_列中的函数:

->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)')