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