slickgrid过滤显示错误的行
slickgrid filtering show wrong rows
基本上,它与给定的示例几乎相同http://mleibman.github.io/SlickGrid/examples/example-header-row.html我只做了更改:
第一个是只在几列中应用过滤器
if(args.column.id == 'name' || args.column.id == 'contract'){
var s = $("<input type='text'>");
s.data('columndata', args.column.id)
.val(columnFilters[args.column.id])
.appendTo(args.node);
};
第二个区别是数据在构造中没有插入到DataView中。我有一个ajax调用,它以json格式加载数据,然后使用dataView.setItems将数据数组注入dataView。
我所做的第三个更改是,我的过滤器检查行、列中的值是否完全匹配。
function filter(item){
for(var columnId in columnFilters){
if(columnId != undefined && columnFilters[columnId] != ''){
var c = obj.grid.getColumns()[obj.grid.getColumnIndex(columnId)];
var value1 = item[c.field].toUpperCase();
var value2 = columnFilters[columnId].toUpperCase();
if(value1.indexOf(value2)==-1){
return false;
};
};
};
return true;
};
一般来说,过滤器是工作的。它甚至过滤正确。如果有2个项目(行)包含例如"草药",则过滤器将找到2行。
但是,由于它找到了2行,它将显示2个第一行。
它是这样工作的。如果过滤器找到N个正确的值,它将显示前N行。
我确实尝试过调试dataview,但它只对行数进行操作,而不是对与参数匹配的行数进行调试
找到了问题的位置。我确实错误地重写了方法getItem(),该方法返回了错误的项目,因为我将行号传递给了它
相关文章:
- jquery表单验证复选框错误显示
- 为什么Inspect元素中的错误显示函数myNUM()没有定义?如何定义函数
- 禁用文本框的脚本错误显示
- 为什么错误显示为函数体之前缺少{
- Firefox SDK:包括jquery.flot在内的问题,错误显示维度高度为空
- 版边上出现错误“显示临时标题”
- 自定义错误显示在自定义位置,而不是每个元素旁边
- JavaScript错误显示在浏览器中
- jQuery tonum 是刨丝器,然后如果错误显示错误,则从没有
- 根据发现的错误显示不同的引导程序警报消息
- Javascript代码错误显示未定义的值
- 将输入字段值传入angularjs $resource undefined,错误显示未知的作用域提供商
- JavaScript错误显示在Joomla1.5页面
- 使用ruby生成节点并使用javascript错误显示它们
- d3js:条形图是不可见的,没有错误显示
- 与一些javascript,密码/用户名错误显示
- JavaScript错误显示表
- Javascript(与相位器)错误显示游戏的颜色-括号
- Jquery表单验证错误显示Div
- Php错误显示,而访问输入类型=文件使用jquery/ajax方法