使用gridpanel时我们有时需要给设置autoHeight:true,但这时如果表格的宽度大于它的容器的宽度,多余的内容就会被隐藏而不会出现横向的滚动条,费了老大劲儿才找到了解决办法,方法就是给gridpanel的option config添加如下属性:
viewConfig : {
layout : function() {
if (!this.mainBody) {
return; // not rendered
}
var g = this.grid;
var c = g.getGridEl();
var csize = c.getSize(true);
var vw = csize.width;
if (!g.hideHeaders && (vw < 20 || csize.height < 20)) { // display:
// none?
return;
}
if (g.autoHeight) {
this.el.dom.style.width = "100%";
this.el.dom.style.overflow = "auto";
this.el.dom.firstChild.style.overflow = "visible";
this.el.dom.firstChild.style.cssFloat = "left";
this.el.dom.firstChild.firstChild.style.cssFloat = "left";
this.el.dom.firstChild.firstChild.nextSibling.style.cssFloat = "left";
this.el.dom.firstChild.firstChild.firstChild.style.overflow = "visible";
this.el.dom.firstChild.firstChild.nextSibling.style.overflow = "visible";
} else {
this.el.setSize(csize.width, csize.height);
var hdHeight = this.mainHd.getHeight();
var vh = csize.height - (hdHeight);
this.scroller.setSize(vw, vh);
if (this.innerHd) {
this.innerHd.style.width = (vw) + 'px';
}
}
if (this.forceFit) {
if (this.lastViewWidth != vw) {
this.fitColumns(false, false);
this.lastViewWidth = vw;
}
} else {
this.autoExpand();
this.syncHeaderScroll();
}
this.onLayout(vw, vh);
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/luwenhe/archive/2010/01/19/5213768.aspx
解决过程中遇到了好多问题,如header的背景不全,不是所有的列都能resize(已经设置了resizable:true),所以可能还有很多问题我没有发现。如果谁发现有什么问题,希望不吝赐教。
修改:
又发现了一个简单的方法比上边效果好多了,嘿嘿
viewConfig : {
layout : function() {
if (!this.mainBody) {
return; // not rendered
}
var g = this.grid;
var c = g.getGridEl();
var csize = c.getSize(true);
var vw = csize.width;
if (!g.hideHeaders && (vw < 20 || csize.height < 20)) { // display:
// none?
return;
}
if (g.autoHeight) {
if (this.innerHd) {
this.innerHd.style.width = (vw) + 'px';
}
} else {
this.el.setSize(csize.width, csize.height);
var hdHeight = this.mainHd.getHeight();
var vh = csize.height - (hdHeight);
this.scroller.setSize(vw, vh);
if (this.innerHd) {
this.innerHd.style.width = (vw) + 'px';
}
}
if (this.forceFit) {
if (this.lastViewWidth != vw) {
this.fitColumns(false, false);
this.lastViewWidth = vw;
}
} else {
this.autoExpand();
this.syncHeaderScroll();
}
this.onLayout(vw, vh);
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/luwenhe/archive/2010/01/19/5213768.aspx
分享到:
相关推荐
Extjs gridpanel 出现横向滚动条问题的解决方法,在gridpanel中加入以下代码即可。
ExtJs GridPanel双击事件获得双击的行,双击行可以选中前面的checkbox,并获得行号
autoHeight : true width : 150 lines : true } ;">extjs实现简单的树状结构级联Ext onReady function { Ext QuickTips init ; Ext BLANK IMAGE URL "extjs resources images default s gif"; ...
autoHeight:true, defaultType:"textfield", items:[ {fieldLabel:"姓名", //width:250, //设置了anchor后无效 allowBlank:false, blankText:"姓名不能为空", anchor:"50%" }, { fieldLabel:"密码", ...
ExtJS的GridPanel导出excel文件,方便快捷易懂!
此文件用于项目首页内容,使用了ExtJs中的GridPanel
通过Servlet让Extjs GridPanel 显示数据库数据
ExtJS4官方指南:数据Data简体中文版.pdf
ExtJS4官方指南:MVC架构简体中文版宣贯.pdf
Bug1:出现纵向滚动条后,将横向滚动条拖到最后,然后会发现每选择一条记录整个grid就会往左移,右边空出一部份空白。 Bug2:出现横向滚动条后,向右稍拉滚动条,然后点击任意一行,会发现行内容向左偏移,滚动条...
一个关于GridPanel的使用例子 介绍了Proxy,JsonReader Store gridPanel等几个对象的简单使用
ExtJS4官方指南:MVC架构简体中文版归类.pdf
Bug1:出现纵向滚动条后,将横向滚动条拖到最后,然后会发现每选择一条记录整个grid就会往左移,右边空出一部份空白。 Bug2:出现横向滚动条后,向右稍拉滚动条,然后点击任意一行,会发现行内容向左偏移,滚动条...
ExtJS 4 官方手册:应用架构设计 01 简体中文版.doc
ExtJS4官方手册:应用架构设计01简体中文版.doc
NULL 博文链接:https://topbox163.iteye.com/blog/1276463
EXTJS.GRIDPANEL中日期格式 设置
Extjs4.0 实现列隐藏,显示和滚动条动态加载,可以直接跑的代码
ExtJS 4 官方指南 ,关于extjs 4 的一个中文帮助文档。