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