2

我使用带有 DataTables Codeigniter 库的 jQuery DataTables 来生成数据。该库是 DataTables 提供的 php 脚本的一个端口。

该脚本只允许我确定几个选项。

function datatables()
{
    $table = "purchase_orders";
    $columns = array("purchase_order_id", "sequence_id", "order_number", "aid");
    $index = "purchase_order_id";
    $this->load->library("Datatables");
    echo $this->datatables->generate($table, $columns, $index); 
}

我希望能够为一些“特定于行”的函数(如editand )添加一列delete,但 DataTable 库不支持提供经过处理的数据数组。

看来我的下一个选择是一些 jQuery。我想我需要有一个隐藏列来存储关于行的唯一 id,然后为行特定的函数添加一列。这看起来对吗?

任何其他建议或更好的方法都会很高兴听到。

谢谢,彼得

4

1 回答 1

3

我在几个 CI 项目中使用过 DataTables,但没有采用与您相同的方法 - 我没有使用任何类型的包装库,而是通过 jQuery 传递选项。我认为有时这种方法更好,因为如果 CI 库中间层不提供 javascript 库的完整选项,它可能会妨碍它。

您可以通过多种方式提供特定于行的功能 - 具有编辑列或删除列,并带有指向该行的控制器方法的链接(例如'/mycontroller/edit/123');或者有一个复选框列,其中包含每个 ID 的值和“操作”按钮或表单选择。

根据数据的大小,我通常利用 DataTables 的 ajax 功能并通过 json 加载列数据 - 如果您在数据中包含 html 和/或 javascript,请确保正确转义它。

于 2011-02-12T09:31:59.133 回答