解决方式一:
设置内容过长的列的宽度,直到能显示完整而不换行。
例如:原来width:80导致内容换行,我们增大列宽度设置width:150
解决方式二:
在grid的onAfterShowData中添加函数
var grid=null;
grid = $("#maingrid").ligerGrid({
...,
onAfterShowData: function (grid){
if(null != $(".l-grid1 .l-grid-header-inner .l-grid-header-table .l-grid-hd-row .l-grid-hd-cell-checkbox").html()){
if(navigator.userAgent.indexOf("MSIE")>0){
//ie浏览器
$("tr[id^=maingrid|2|]").each(function(i,v){
//获取l-grid2数据展示行的绝对高度
var idstr=$(this).attr("id");
var height=document.getElementById(idstr).offsetHeight;
//为什么不减一高度还是错位?
if(i>0)height=height-1;
var idstr=$(this).attr("id");
//生成chekbox对应行的id
var chkidstr=idstr.replace("|2|","\\|1\\|");
//设置tr高度
$("#"+chkidstr).attr("style","height:"+height+"px;");
//设置div高度
//$("#"+chkidstr+">td>div").attr("style","height:"+height+"px;");
var marginTop = (height-15)/2;
$("#"+chkidstr+">td>div>span").attr("style","margin-top: "+marginTop+"px;");
});
}else{
$("tr[id^=maingrid\\|2\\|]").each(function(i,v){
var idstr=$(this).attr("id");
var height=document.getElementById(idstr).offsetHeight;
var chkidstr=idstr.replace("|2|","\\|1\\|");
$("#"+chkidstr).attr("style","height:"+height+"px;");
//计算marginTop的高度
var marginTop = (height-15)/2;
$("#"+chkidstr+">td>div>span").attr("style","margin-top: "+marginTop+"px;");
});
}
}
}
});
该例子在ie8中显示正常,在ie7中存在误差,修正方式
onAfterShowData: function (grid){
if(null != $(".l-grid1 .l-grid-header-inner .l-grid-header-table .l-grid-hd-row .l-grid-hd-cell-checkbox").html()){
$("tr[id^=grid\\|2\\|]").each(function(i,v){
//获取grid中数据显示部分的每一行的ID
var idstr=$(this).attr("id");
//每行实际行高,使用jquery方式获取不到
var height=document.getElementById(idstr).offsetHeight;
//替换求出checkbox所在hang的id
var chkidstr=idstr.replace("|2|","\\|1\\|");
//设置grid中checkbox行高
$("#"+chkidstr).attr("style","height:"+height+"px;");
$("#"+chkidstr+">td>div").attr("style","align: center;");
//设置后的值
var chkheight=$("#"+chkidstr).height();
//计算误差
var posfix=chkheight-height;
//修正后的高度
if(posfix>0) $("#"+chkidstr).attr("style","height:"+(height-posfix)+"px;");
});
}
}