牛骨文教育服务平台(让学习变的简单)
博文笔记

MiniUI Datagrid单元格绘制时number类型的0不显示问题解决方案

创建时间:2018-10-19 投稿人: 浏览次数:779

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

;(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;
    };
})();

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。