jquery easyui中的formatter多用法

1.formatter能多数据进行格式化后输出,formatter必须返回一个字符串,第一个用法:当一个单元格的数据很多,不能显示完全时,鼠标放上去能动态显示出所有内容。

formatter:function(value,rowData,rowIndex){
    //value是当前字段的值,rowData是该行的所有数据,rowIndex是该行的索引
    return '<span title="'+value+'">'+value+'</span>';
    
}

2.在表格中定义带按钮的一行操作列

columns:[[
    {
        title:'控制',
        field:'id',
        width:150,
        formatter:function(value,rowData,rowIndex){
        //value是当前字段的值,rowData是该行的所有数据,rowIndex是该行的索引
        return '<button οnclick="show('+rowIndex+');">编辑</button><button οnclick="show('+rowIndex+');">删除</button>';
    
        }
        
    }

]]


functon show(index){
    var rows= datagrid.datagrid('getRows');//得到所有的行,是一个数组
    console.info(rows[index]);//通过rows[index]就能得到该行的数据了
}

传数据时要传索引,因为rowData是一个对象,不能传过去。

 

3.格式化日期:

先扩展jquery的日期格式

Data.prototype.format=function(format){
    if(isNaN(this.getMonth)){
        return '';
    }
    if(!format){
        format="yyyy-MM-dd hh:mm:ss";
    }

    var o={
    
        /* month*/
        "M+":this.getMonth+1,
        "d+":this.getDate(),

        "h+":this.getHours(),

        "m+":this.getMinutes(),

        "s+":this.getSeconds+1,

        "q+":Math.floor((this.getMonth()+3/3)),
        "S+":this.getMilliseconds()
    };
    if(/(y+)/.test(format)){
        format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length));
    }
    for(var k in 0){
        if(new RegExp("("+k+")").test(format)){
            format=format.replace(RegExp.$1,RegExp.$1.length==1?0[k]:("00"+0[k]).substr((""+o[k]).length));
        
        }
    }
    return format;
}

调用方式:

formatter:function(value){
        //value是当前字段的值
        return new Date(value).format();
    
        }

 

转载于:https://www.cnblogs.com/suncj/p/4060029.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值