gpt4 book ai didi

javascript - DHTMLX 网格过滤器重置后初始化延迟

转载 作者:行者123 更新时间:2023-11-28 00:53:03 26 4
gpt4 key购买 nike

奇怪的是,不确定我的应用程序中的其他代码是否导致了此问题,但这里是。

当我第一次用数据填充网格时,它允许我立即使用过滤器。当我单击重置按钮(过滤器中带有文本)以清除网格并为下一次加载做好准备时,过滤器不会立即工作,似乎我必须等待大约 5 秒才能调整数据。这是我的代码,请记住,此代码同时针对重置按钮和搜索按钮运行,这意味着在某些情况下,它可能会在网格填充新数据之前运行两次。

重置代码(在服务中调用):

clearAll: function (ref) {
var gridObj = dhtmlxObjectArray[ref];
if(gridObj){
gridObj.clearAll();
if (gridObj.hdr.rows[1].cells[0].getElementsByTagName("INPUT")[0]) {
gridObj.hdr.rows[1].cells[0].getElementsByTagName("INPUT")[0].checked = 0;
}
$rootScope.$broadcast("cvsGridService_toggleExport_" + ref, true);
for (var i = 0; i < gridObj.getColumnsNum(); i++) {
if (gridObj.getFilterElement(i) != null) {
var filterObj = gridObj.getFilterElement(i);
filterObj.value = "";
}
}
$scope.$evalAsync();
}
$rootScope.$broadcast("cvsGridService_updateGridCount_" + ref);
$rootScope.$broadcast("cvsGridService_updateFilteredCount_" + ref, 0);
}

for 循环是将过滤器设置为空白的地方。所以我想知道这是否有什么关系?还有其他想法吗?

最佳答案

也许您没有正确清除过滤器?我就是这样做的,效果很好:

for (var i=0; i<grid.filters.length; i++){
grid.filters[i][0].value="";
grid.filters[i][0].old_value="";
}
grid.filterByAll();

关于javascript - DHTMLX 网格过滤器重置后初始化延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26545557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com