AngularJs + angular 数据表

AngularJs + angular datatable

这里有人在 AngularJS 中使用 angular-datatables 吗?

已编辑:我想过滤 table 中的数据。具体来说。就像 select 是关于类别的。它只会过滤类别列中的内容。但到目前为止,在我的过滤器中。它过滤一切。

这是我的过滤代码 select。我只是复制 "search box" 如何过滤数据。因为我不知道使用 select 进行过滤的正确代码。而且是定制的。

function dtInstanceCallback (dtInstance) {
    var datatableObj = dtInstance.DataTable;
    vm.tableInstance = datatableObj;
}

function searchTable () {
    var query = vm.queryProductSearch;
    vm.tableInstance.search(query).draw();
}

function selectCategoryInTable () {
    var sel = vm.selCategory;
    vm.tableInstance.search(sel).draw();
}

function selectStatusInTable () {
    var sel = vm.selStatus;
    vm.tableInstance.search(sel).draw();
}

searchTable() 用于我的搜索框。 selectCategoryInTable / selectStatusInTable 用于我的 table 中的类别列和状态列。但它会过滤一切。

而且我想知道如何筛选特定数据。就像我过滤 "ACTIVE"。我在 datatable 中的数据也会显示 "INACTIVE",因为 "INACTIVE" 中有 "ACTIVE"。所以我想过滤特定的词。

好像不太对。来自 dtInstance 的 dataTables 1.10.x API 的正确用法是

vm.tableInstance.DataTable.search(query).draw()

如果要在特定列中搜索,可以使用

vm.tableInstance.DataTable.column(1).search(query).draw()

如果您想搜索整个单词,而不仅仅是单词的一部分(例如活跃与不活跃),请使用正则表达式搜索。将 query 包装到 ^..$ 并将第一个参数设置为 true,请参阅 search() 的文档:

vm.tableInstance.DataTable.column(1).search('^'+query+'$', true).draw()

这是在第 1 列中搜索 foo 的示例 -> http://plnkr.co/edit/s1pP42YFE4WeuStdaK8d?p=preview