js--easyUI--EasyUI的datagrid自适应高度
2013-12-04 19:25
369 查看
我遇到的问题是,我的数据列表中有图片,但图片的加载顺序是滞后的。easyUI 在渲染datagrid时,图片还没有加载,
这时如果column中没有设定自己的显示样式,easyUI就会使用自己的默认样式,行高度默认为:22px;
列表数据渲染完成后,采取加载图片,这时图片的高度为:50px;导致正行数据的高度都被撑大到50px;而easyUI不会重新计算
高度,导致高度不能自适应;如图:
![](http://img.blog.csdn.net/20131205151134625?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvam9iamF2YQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
解决方法:
var column = [
{title:'ID',field:'id',width:100,align:'left'},
{title:'选手ID',field:'userId',width:100,align:'left'},
{title:'选手昵称',field:'nickName',width:100,align:'left',
formatter:function(data){
if(data == 'null'){
return "";
}else{
return data;
}
}
},
{title:'照片',field:'photoNew',width:60,align:'left',
formatter:function(data){
return "<span style='display:inline-block;height:60px;line-height:3px;'><img src='" + data + "' width='50' heigth='50'></img></span>";
}
},
{title:'所在房间ID',field:'roomId',width:100,align:'left'},
{title:'参加活动',field:'eventName',width:150,align:'left'},
{title:'照片审核状态',field:'photoStatus',width:80,align:'left',
formatter:function(data){
if(data == "0"){
return "<span style='color:green'>审核通过</span>";
}else if(data == "-1"){
return "<span style='color:red'>审核未通过</span>";
}else{
return "未审核";
}
}
},
{title:'分区编号',field:'areaNo',width:80,align:'left',hidden:true},
{title:'晋级级别',field:'levelName',width:80,align:'left'},
{title:'晋级',field:'Progress',width:100,align:'center',
formatter:function(value){
var list = [{iconClass: "icon-ok", jsFunction: "eventPlayer.goUpLevel()", title: "晋级"}];
return $tableHandle(list);
}
}
];
设定一个块元素,将图片需要的大致区域撑起来,这样,easyUI在初始化的时候,就会计算正确了!
总结:
出现原因:有些字段数据是初始化之后才加载完成的。数据高度在初始化前后有明显变化,导致easyUI计算错误。
解决方法,将这些问题字段进行formatter:function(data){},将数据高度提前设置好,在初始时,easyUI就会
计算正常,就不会高度不适应了
====================================================================================================================================
其他解决办法:
datagrid列高,宽自适应:fitColumns:true,
使用fitColumns:true属性,可以解决高度自适应问题,但随之而来的是宽度也自适应了,
这时,列宽显示就会有些问题了。
这时如果column中没有设定自己的显示样式,easyUI就会使用自己的默认样式,行高度默认为:22px;
列表数据渲染完成后,采取加载图片,这时图片的高度为:50px;导致正行数据的高度都被撑大到50px;而easyUI不会重新计算
高度,导致高度不能自适应;如图:
解决方法:
var column = [
{title:'ID',field:'id',width:100,align:'left'},
{title:'选手ID',field:'userId',width:100,align:'left'},
{title:'选手昵称',field:'nickName',width:100,align:'left',
formatter:function(data){
if(data == 'null'){
return "";
}else{
return data;
}
}
},
{title:'照片',field:'photoNew',width:60,align:'left',
formatter:function(data){
return "<span style='display:inline-block;height:60px;line-height:3px;'><img src='" + data + "' width='50' heigth='50'></img></span>";
}
},
{title:'所在房间ID',field:'roomId',width:100,align:'left'},
{title:'参加活动',field:'eventName',width:150,align:'left'},
{title:'照片审核状态',field:'photoStatus',width:80,align:'left',
formatter:function(data){
if(data == "0"){
return "<span style='color:green'>审核通过</span>";
}else if(data == "-1"){
return "<span style='color:red'>审核未通过</span>";
}else{
return "未审核";
}
}
},
{title:'分区编号',field:'areaNo',width:80,align:'left',hidden:true},
{title:'晋级级别',field:'levelName',width:80,align:'left'},
{title:'晋级',field:'Progress',width:100,align:'center',
formatter:function(value){
var list = [{iconClass: "icon-ok", jsFunction: "eventPlayer.goUpLevel()", title: "晋级"}];
return $tableHandle(list);
}
}
];
设定一个块元素,将图片需要的大致区域撑起来,这样,easyUI在初始化的时候,就会计算正确了!
总结:
出现原因:有些字段数据是初始化之后才加载完成的。数据高度在初始化前后有明显变化,导致easyUI计算错误。
解决方法,将这些问题字段进行formatter:function(data){},将数据高度提前设置好,在初始时,easyUI就会
计算正常,就不会高度不适应了
====================================================================================================================================
其他解决办法:
datagrid列高,宽自适应:fitColumns:true,
使用fitColumns:true属性,可以解决高度自适应问题,但随之而来的是宽度也自适应了,
这时,列宽显示就会有些问题了。
相关文章推荐
- 基于蓝牙4.0的蓝牙打印机 低耗电蓝牙 BLE (Bluetooth Low Energy)
- 使用AlertDialog.Builder自定义对话框
- Genesis-3D 入门教程—18.基本UI及运行
- Druid、BoneCP、DBCP、C3P0等主流数据库对比
- UVAlive 5031 Graph and Queries(treap)
- UIScrollView的简单使用
- SPOJ 375 Query on a tree(线段树维护树链剖分)
- P1774 机器翻译 使用QUEUE
- 各种蓝牙设备的UUID
- UICollisionBehavior-动画效果:碰撞
- 有潜在危险的 Request.Form 值避免方法
- 解决configure: error: Subversion requires SQLite
- c#设置xml内容不换行;添加属性为xsi:nil="true"的空节点
- 使用join fetch with JPA2 CriteriaQuery的简单例子
- GUID分区和MBR分区简介
- CF 314C Sereja and Subsequences(树状数组)
- Android LinearLayout Weight issues
- SPOJ 1487 Query on a tree III(划分树)
- [AX2012]在SSRS报表中获取从Menuitem传入的记录
- SPOJ 2916 Can you answer these queries V(线段树-分类讨论)