是否可以在不使用DataView的情况下过滤Slickgrid?无数据视图的Slickgrid过滤
如果不可能,应该如何构造数据数组才能正确显示?
我没有一个工作示例atm。由于
后来编辑:
做一些功课多后,过滤数据网格是所有有关获取嵌套数组中的匹配指标......得到的是它和grid.setData更新的实时排序结果集( filterData);网格渲染;一个应执行以下操作
function intersect(a, b) // find an intersection of 2 arrays (google result on SO
{
var ai=0, bi=0;
var a = a.sort();
var b = b.sort();
var result = new Array();
while(ai < a.length && bi < b.length)
{
if (a[ai] < b[bi]){ ai++; }
else if (a[ai] > b[bi]){ bi++; }
else /* they're equal */
{
result.push(a[ai]);
ai++;
bi++;
}
}
return result;
}
// given results sets are arrays of indexes matching search criteria
a = [1,2,3,4];
b = [2,3,4,5];
c = [3,4,5,6];
d = [4,5,6,7];
// should reunite in a nested array
array = [a,b,c,d];
// check intersections for each array[k] and array[k+1]
k = array[0];
for (var i = 0; i<array.length-1; i++){
k = intersect(k,array[i+1]);
}
console.log(k) // returns 4
// k array is the index array that
// is used to build filterData[i] = data[j]
// depends if id is stored in data or in case
// of a database, it is stored in data
// tested in firebug
// thanks
由于原始问题(或过滤SlickGrid数据)与数据结构以及过滤器的工作方式无关,因此您的代码很混乱。 – Tin 2012-02-09 20:24:10