1. 程式人生 > >MiniUI Datagrid單元格繪製時number型別的0不顯示問題解決方案

MiniUI Datagrid單元格繪製時number型別的0不顯示問題解決方案

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