miniui datagrid中0不显示问题解决方案

miniui绘制单元格时number类型的0会直接转换为空字符‘’,所以显示不出来,当然后台取值的时候转成字符类型0也能显示,但显得操作多余,不妨试试在miniui.js添加以下脚本,让number类型的0自己显示出来,需要添加的js代码如下:


;(function(){
    //重写datagrid单元格绘制事件,修复了number类型的0不显示bug 
    mini.DataGrid.prototype._OnDrawCell=function (record, column, rowIndex, columnIndex) {
        var e = this._createDrawCellEvent(record, column, rowIndex, columnIndex);
        var value = e.value;

        if (column.dateFormat) {
            if (mini.isDate(e.value)) {
                
                e.cellHtml = mini.formatDate(value, column.dateFormat);
            }
            else e.cellHtml = value;
        }


        if (column.dataType == "float") {
            var value = parseFloat(e.value);
            if (!isNaN(value)) {
                decimalPlaces = parseInt(column.decimalPlaces);
                if (isNaN(decimalPlaces)) decimalPlaces = 2;

                e.cellHtml = value.toFixed(decimalPlaces);
            }
        }

        if (column.dataType == "currency") {
            e.cellHtml = mini.formatCurrency(e.value, column.currencyUnit);
        }

        if (column.displayField) {
            e.cellHtml = mini._getMap(column.displayField, record); 
        }
        if (column.numberFormat) {
            var number = parseFloat(e.cellHtml);
            if (!isNaN(number)) {
                e.cellHtml = mini.formatNumber(number, column.numberFormat);
            }
        }
        if (e.autoEscape == true) {
            e.cellHtml = mini.htmlEncode(e.cellHtml);
        }

        var renderer = column.renderer;
        if (renderer) {
            var fn = typeof renderer == "function" ? renderer : mini._getFunctoin(renderer);
            if (fn) {
                e.cellHtml = fn.call(column, e);
            }
        }

        //修改前:e.cellHtml = e.cellHtml ? String(e.cellHtml).trim() : "";
        e.cellHtml = e.cellHtml||e.cellHtml==0 ? String(e.cellHtml).trim() : "";

        this.fire("drawcell", e);

        if (e.cellHtml && !!e.cellHtml.unshift && e.cellHtml.length == 0) {
            e.cellHtml = " ";
        }
        if (e.cellHtml === null || e.cellHtml === undefined || e.cellHtml === "") e.cellHtml = " ";

        return e;
    };
})();

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值