在空的剑道网格上排序显示旧数据

Posted

技术标签:

【中文标题】在空的剑道网格上排序显示旧数据【英文标题】:Sorting on empty kendo grid shows old data 【发布时间】:2019-12-27 11:55:30 【问题描述】:

我有一个下拉列表(有 2 个值 - 员工和部门)和两个 kendogrids(emp 网格和部门网格),在更改下拉列表时我启用/禁用基于下拉值的网格并清除两个网格的数据源,当我在下拉列表中选择员工并根据给出结果的名称对员工进行排序,当我将下拉值更改为“部门”时,它会禁用员工网格并在员工网格中显示“未找到数据”,但是当我单击 EmpName 列时,我仍然得到以前的结果。我在下面添加了下拉更改示例代码。

    var ddlvalue = $("#drpmodule").data("kendoDropDownList").text();

       $("#EmpGrid").data("kendoGrid").dataSource.data([]); //Clear EmpGrid DataSource
       $("#DeptGrid").data("kendoGrid").dataSource.data([]); //Clear DeptGrid DataSource

          if (module == 'Employee') 
                $('#DeptGrid').addClass('k-state-disabled');
                $('#EmpGrid').removeClass('k-state-disabled');                            
          
          else if (module == 'Department') 

               $('#EmpGrid').addClass('k-state-disabled');  //shows no data found in EmpGrid, but clicking on column header gives results                        
               $('#DeptGrid').removeClass('k-state-disabled');

           else 
                    $('#EmpGrid').removeClass('k-state-disabled');
                    $('#DeptGrid').removeClass('k-state-disabled');
                

我不明白为什么即使在“未找到数据”记录之后(在更改下拉列表中),员工网格仍显示以前/旧数据。

【问题讨论】:

【参考方案1】:

很高兴看到数据源是如何配置的。

事实上,我可以假设当您进行过滤时,数据源正在获取数据。它将解释为什么您会看到有关过滤空网格的数据。

也许隐藏禁用的网格可能是一个解决方案:$('#EmpGrid').hide(); 然后再次显示$('#EmpGrid').show(); 通过隐藏/显示网格,您不再需要清空网格。

【讨论】:

刚刚通过***.com/questions/17917962/…了解了 $("#EmpGrid").data("kendoGrid").dataSource.data([]);有问题,它会在排序/过滤的情况下显示旧数据,所以我创建了一个新的空数据源并在下拉更改时将其分配给网格,我再次在单击搜索按钮时将旧数据源分配给网格。感谢帮助顺便说一句:-)

以上是关于在空的剑道网格上排序显示旧数据的主要内容,如果未能解决你的问题,请参考以下文章

如何将网格线保留在空的 TableView Javafx 中

在多列上对剑道网格进行排序

剑道网格自定义列菜单

剑道网格弹出显示

剑道网格读取数据源与http post响应

剑道网格选择焦点上的单元格数据