我在Kendo网格中设置了过滤器但是当过滤器应用于网格时我遇到了问题,我错过了我的过滤行的值。
过滤后我错过了我的过滤器:
现在出于这个原因,我再次设置我的过滤器行,如下所示:
function updateSearchFilters(grid, field, operator, value)
{
var newFilter = { field: field, operator: operator, value: value };
var dataSource = grid.dataSource;
var filters = null;
if ( dataSource.filter() != null)
{
filters = dataSource.filter().filters;
}
if ( filters == null )
{
filters = [newFilter];
}
else
{
var isNew = true;
var index = 0;
for(index=0; index < filters.length; index++)
{
if (filters[index].field == field)
{
isNew = false;
break;
}
}
if ( isNew)
{
filters.push(newFilter);
}
else
{
//alert(value);
if(value == '')
filters.splice(index,1);
//delete filters[index];
else
filters[index] = newFilter;
}
}
dataSource.filter(filters);
for (var i = 0; i < filters.length; i++) {
$('#gridId-filter-column-' + filters[i].field.toString()).val(filters[i].value.toString());
}
}
当我在此行中设置断点$(&#39;#gridId-filter-column - &#39; + filters [i] .field.toString())。val(filters [i] .value的ToString());它的工作正确但是 当我删除断点时,这条线不起作用。
答案 0 :(得分:0)
您可以在运行此行之前设置延迟:
for (var i = 0; i < filters.length; i++) { $('#gridId-filter-column-' +filters[i].field.toString()).val(filters[i].value.toString()); }