Filter 过滤后如何在剑道ui网格上显示水平滚动条?

Filter 过滤后如何在剑道ui网格上显示水平滚动条?,filter,grid,kendo-ui,Filter,Grid,Kendo Ui,我有一个剑道UI网格,有很多列。可以通过水平滚动查看溢出的列。然而,如果你 1) 滚动至最初未显示的列,然后 2) 对该列进行筛选,以确保没有与筛选条件匹配的行 网格将不再允许水平滚动。无法清除应用了筛选器的列 过滤后如何显示水平滚动条 这里有一个JSFIDLE,您可以在其中看到问题 代码如下: var-dataItem={}; var列=[]; 对于(变量i=0;i

我有一个剑道UI网格,有很多列。可以通过水平滚动查看溢出的列。然而,如果你

1) 滚动至最初未显示的列,然后

2) 对该列进行筛选,以确保没有与筛选条件匹配的行

网格将不再允许水平滚动。无法清除应用了筛选器的列

过滤后如何显示水平滚动条

这里有一个JSFIDLE,您可以在其中看到问题

代码如下:

var-dataItem={};
var列=[];
对于(变量i=0;i<20;i++){
数据项['col'+i]=i;
列。按({
字段:'col'+i,
宽度:80,
可过滤:正确,
键入:“数字”
} );
}
$(“#网格”).kendoGrid({
可滚动:对,
列:列,
可过滤:正确,
数据源:[数据项]
});

例如,转到第18列并过滤等于20的内容以查看问题。

有趣的delima。我认为最简单的答案是在网格旁边添加一个按钮来“刷新”网格。以下javascript将导致刷新

function LoadAllPositions() {
    $("#grid").data("kendoGrid").dataSource.read();
}

基于Trey-Gramman添加清除过滤器按钮的方法:

$(“#网格”).kendoGrid({
可滚动:对,
列:列,
可过滤:正确,
工具栏:[
{
名称:“清洁过滤器”,
imageClass:“k-图标k-i-漏斗-清除”,
文本:“清洁过滤器”
}
],
数据源:[数据项]
});
$(“.k-grid-clean_filter”,“#grid”)。在(“单击”上,函数(e){
$(“#网格”).data(“kendoGrid”).dataSource.filter({});
});
看到它在运行


它不能解决滚动标题的问题,但至少允许您继续(如果找不到更好的标题)。

我也遇到了同样的问题,我解决了这个问题,在网格中添加了一个空行。
代码:

var-dataItem={};
var列=[];
对于(变量i=0;i<20;i++){
数据项['col'+i]=i;
列。按({
字段:'col'+i,
宽度:80,
可过滤:正确,
键入:“数字”
} );
}
$(“#网格”).kendoGrid({
可滚动:对,
列:列,
可过滤:正确,
数据源:[dataItem],
数据绑定:函数(e){
if(this.dataSource.view().length==0){
var colspan=this.content.find(“表列”).length;
this.content.find(“表”).append(“”);
}
$(“#grid”).find(“.k-grid-footer-wrap”).scrollLeft($(“#grid”).find(“.k-grid-content”).scrollLeft();
this.content.bind('scroll',function(){
$(“#grid”).find(“.k-grid-footer-wrap”).scrollLeft(this.scrollLeft);
});
}
})

谢谢你的回答。我试着用你的想法更新我的JSFIDLE,但水平滚动条似乎不再出现。因此,列x到列n(其中x是完全向左滚动时显示的最后一列,n是网格的最后一列)仍然无法访问以清除筛选器。或者您建议重新加载原始数据?如果是前者,请您更新/拨弄小提琴以演示此操作是否有效?如果是后者,则我认为用户体验将相当差,无法要求他们执行此操作。但我认为这是两个缺点中较小的一个。