Javascript extjs树面板中的滚动条不工作

Javascript extjs树面板中的滚动条不工作,javascript,extjs,scrollbar,treepanel,Javascript,Extjs,Scrollbar,Treepanel,有时,我的树面板的滚动条不工作了。虽然仍然可以移动滚动条,但树不再移动。这在Firefox和Chrome中都会发生 以下是“我的树”面板的来源: var treeStore=Ext.create('Ext.data.treeStore'{ 代理:{ 键入:“ajax”, url:“../tree.pl” } }); var tree=Ext.create('Ext.tree.Panel'{ 商店:treeStore, renderTo:'树', 标题:“树”, 宽度:400, 身高:450,

有时,我的树面板的滚动条不工作了。虽然仍然可以移动滚动条,但树不再移动。这在Firefox和Chrome中都会发生

以下是“我的树”面板的来源:

var treeStore=Ext.create('Ext.data.treeStore'{ 代理:{ 键入:“ajax”, url:“../tree.pl” } });

var tree=Ext.create('Ext.tree.Panel'{ 商店:treeStore, renderTo:'树', 标题:“树”, 宽度:400, 身高:450, rootVisible:false, 摘要:[{ xtype:'工具栏', 船坞:“底部”, 项目:[ { xtype:'tbspacer', 宽度:340 }, { 文本:“搜索”, 处理程序:函数(){ 名称=[]; Ext.Array.each(tree.getView().getChecked(),函数(rec){ name.push(rec.get('text')); }))

resultStore.load({ 参数:{ 搜索类型:“树”, 树节点:name.join('II'), } }); } } ] }]
}))


我也有同样的问题。他们使用定制的滚动条,而且它很有缺陷(特别是在chrome中)。要删除自定义滚动条,请在配置中添加以下内容:

.x-grid-cell {
    overflow: hidden;
    font: normal 13px tahoma, arial, verdana, sans-serif;
    user-select: none;
    -o-user-select: none;
    -ms-user-select: none;
    -moz-user-select: -moz-none;
    -webkit-user-select: none;
    cursor: default
}

.x-grid-cell-inner {
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    padding: 3px 6px;
    white-space: nowrap
}

我还没有为treepanel试过。但它对gridpanel非常有效(因为tree和grid都只是Ext.panel.Table的扩展,所以解决方案也应该适用于treepanel)。

在Ext 4.1中,自定义滚动条将再次替换为本机滚动条。虚拟化的滚动条旨在支持无限滚动、列锁定等,但我相信在4.1中,他们已经设法解决了这些问题,并且仍然保留了本机滚动条。如果4.0.x中当前的问题因此得到解决,我会感到惊讶。

在Ext4.0中,位于主库的参考资料下的EXT-all.css文件中,这才是不起作用的真正原因。这个css文件的编码人员决定网格单元应该有
overflow:hidden(第3324行附近):

最好的办法是将两个类的溢出都设置为继承,这个问题就神奇地消失了

唯一剩下的是网格表的边框,但这可以通过在css中放置css样式来解决。我建议不要将它放在ext-all.css文件中

请记住,对于使用
.x-grid-cell

的任何样式,这都会更改它。我使用的是ext4.0.7

卷轴:对

对我有用。但出于某种原因,有人补充说:

布局:锚

树面板的配置导致它停止工作。如果发现
scroll:true
不起作用,请尝试查看是否有人添加了布局并将其删除


希望这能有所帮助。

是的,我也是这样。我认为这是extjs错误。我没有在你的代码中看到
autoScroll:true
code@astrocybernaute:我添加了autoScroll配置,但没有帮助!?这绝对有效。不幸的是,我无法使用它,因为当使用向上/向下箭头键在树中移动时,它似乎会破坏滚动。如果其他人需要该功能,我在这里分享了一项工作:
var tree = Ext.create('Ext.tree.Panel', {
  scroll          : false,
  viewConfig      : {
    style           : { overflow: 'auto', overflowX: 'hidden' }
  },
  // ...
});
.x-grid-cell {
    overflow: hidden;
    font: normal 13px tahoma, arial, verdana, sans-serif;
    user-select: none;
    -o-user-select: none;
    -ms-user-select: none;
    -moz-user-select: -moz-none;
    -webkit-user-select: none;
    cursor: default
}

.x-grid-cell-inner {
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    padding: 3px 6px;
    white-space: nowrap
}
.x-grid-table {
    border: none !important;
    width: auto !important;     
}