LigerUI——天外飞仙

原创
2013/01/08 10:55
阅读数 2K

      最近使用LigerUI的过程中发现了一些demo中没有但却很实用的方法,找起来可谓千辛万苦,故贴出来方便一下遇到这些问题的朋友,仅供参考。


1. 设置表格样式、单元格内容显示不完整的情况下以"..."号表示 

.l-grid-row-cell-inner,.l-grid-hd-cell-inner
       {
           width:100%;
           white-space:nowrap;
           overflow:hidden;
           text-overflow:ellipsis;
           margin-left:0px;
           margin-right:0px;                         
       }
2. 设置表格列宽自动化

function columnAuto(){
       $(".l-grid-header-inner","#maingrid").css("width","100%");
       $(".l-grid-header-table","#maingrid").css("width","100%");  
       $(".l-grid-body-inner","#maingrid").css("width","100%");
       $(".l-grid-body-table","#maingrid").css("width","100%");
       $(".l-grid-row-cell-inner","#maingrid").css("width","100%");
       $("table","#maingrid").css("table-layout","fixed");         
 }

3. 扩展currency类型的格式化函数(为表格列设置【type:'currency'】即可)

$.ligerDefaults.Grid.formatters['currency'] = function (num, column) {
      if (!num) return "¥0.00";
      num = num.toString().replace(/\$|\,/g, '');
  
      if (isNaN(num))num = "0.00";
      sign = (num == (num = Math.abs(num)));
      num = Math.floor(num * 100 + 0.50000000001);
      cents = num % 100;
      num = Math.floor(num / 100).toString();
  
      if (cents < 10)cents = "0" + cents;
      for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
          num = num.substring(0, num.length - (4 * i + 3)) + ',' +
  	 num.substring(num.length - (4 * i + 3));
      return "¥" + (((sign) ? '' : '-') + '' + num + '.' + cents);
  };
4.设置表格列后置方法(截取日期【2013-01-08 10:33:29.0】)
render: function (record, rowindex, value, column) {
 		if(value!=''){
 			return value.replace(".0","");
 		}else{
 			return '';
 		}
 }},
5.动态添加表格数据格式
maingrid.addRows(eval("["+data.gridData+"]"), null, true, row);

6.如果是根据点击左边的树加载表格数据时如果翻到了第二页,点击另外一个树节点时不会自动跳转到第一页,此时需要手动跳转到第一页。

maingrid = $("#maingrid").ligerGetGridManager(); 
maingrid.changePage("first");

7.检查表格(树形)输入框内容,如果为空则去掉选中状态,否则选中  

function checkVal()
 { 
 	//获取选中表格数据对象
 	var sdata=maingrid.getCheckedRows();
 	$.each(sdata, function(key, val) {
 		//输入框id格式为(name_A201301080957142857)
 		var v=$('#name'+val.busisn+'').val();
 		//检查选中的输入框内容
 		if(v != null){
 			if(v.length ==0){
 				//如果无值则去掉选中状态
 				maingrid.unselect(maingrid.getRow(val));
 			}
 		}else{
 			//如果选中的为树节点则去掉选中状态
 			maingrid.unselect(maingrid.getRow(val));
 		}
 	});
 	//获取表格所有数据对象
 	var cdata=maingrid.getData();
 	//统计有值的输入框
 	var rt=0;
 	$.each(cdata, function(key, val) {
 		var v=$('#name_'+val.busisn+'').val();
 		if(v != null){
 			if(v.length >0){
 				//如果有值该行状态改为选中
                 maingrid.select(maingrid.getRow(key));
 				rt++;
 			}
 		}
 	});
 	if(rt==0){
 		alert("请填写名称后提交!");
 		return "false";
 	}
 }
function checkVal()
 { 
 	//获取选中表格数据对象
 	var sdata=maingrid.getCheckedRows();
 	$.each(sdata, function(key, val) {
 		//输入框id格式为(name_A201301080957142857)
 		var v=$('#name'+val.busisn+'').val();
 		//检查选中的输入框内容
 		if(v != null){
 			if(v.length ==0){
 				//如果无值则去掉选中状态
 				maingrid.unselect(maingrid.getRow(val));
 			}
 		}else{
 			//如果选中的为树节点则去掉选中状态
 			maingrid.unselect(maingrid.getRow(val));
 		}
 	});
 	//获取表格所有数据对象
 	var cdata=maingrid.getData();
 	//统计有值的输入框
 	var rt=0;
 	$.each(cdata, function(key, val) {
 		var v=$('#name_'+val.busisn+'').val();
 		if(v != null){
 			if(v.length >0){
 				//如果有值该行状态改为选中
                 maingrid.select(maingrid.getRow(key));
 				rt++;
 			}
 		}
 	});
 	if(rt==0){
 		alert("请填写名称后提交!");
 		return "false";
 	}
 }
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
12 收藏
1
分享
返回顶部
顶部