/* * 通过遍历表格每行的单元格进行单元格的拼接,来控制表格空行的隐藏 * 隐藏的条件:同行里所有的数据列都是 空值/空字符串/0/0.00形式 即隐藏 */ //获取表格tr对象 var trObj = $(".x-table tr"); //获取tr的行数 var rowsNum = trObj.length; var hideFlag = false;//控制未查询时,按钮显示值不允许切换 //开始遍历单元格,从第二行开始(表头不遍历)--可根据需求自行修改 for(var i = 2; i < rowsNum; i++) { var td = trObj.eq(i).find("td"); var trStrs = "";//用来拼接各行需要遍历的单元格 //遍历tr中的对象td,从第二列开始----可根据需求自行修改 for(var j = 3; j < td.length; j++) { //_val是每个单元格值 var tdValue = td.eq(j).text(); //去除空格 tdValue = $.trim(tdValue); //判断是否是空,如果不为空弹出单元格值(可根据需要更改) if(tdValue!="" && tdValue!=0){ //如果是td是0.0000格式,也可以用0来判断 trStrs += tdValue; } } if(trStrs==null || trStrs=="" || trStrs==0){ //隐藏空行或者0 //alert("隐藏:::"+trStrs); $("#r-"+i+"-0").toggle(); hideFlag = true;//是否需要隐藏标志设为true }else{ //非0 非空的 不隐藏 //alert("展示:::"+trStrs); }
} //点击按钮显示值切换(“隐藏空行”与“显示空行”切换) var button = this.options.form.getWidgetByName("button0"); //alert(button.getValue()); if((button.getValue()=="隐藏空行") && hideFlag==true){ button.setValue("显示空行"); }else{ button.setValue("隐藏空行"); } //buttonValue.setVisible(false); //$("#fr-btn-BUTTON0").html("显示空行");//注意:控件名button0字母必须大写 这个也可以,但是value值不改变,只改变了页面显示的值,样式也改了 为什么我的控件里面已经写了这个JS,他出来的数据还是会包含有空行的 |