在编辑Extjs的gridpanel的时候,数据有错误或是修改在每个单元格上都会出现红色的小三角,在每个列上面可以配置allowBlank: false来标识这个不可以为空
有的时候在保存数据时如果不刷新页面也会留下红三角,那么在创建grid的时候,在grid里面加上下面的语句就不会再出现了:
viewConfig: {
markDirty: false
}
下面是grid的例子:
var haomlTongjGeimjGrid = Ext.create('Ext.grid.Panel', {
id: 'haomlTongjGeimjGrid',
name: 'haomlTongjGeimjGrid',
height: 100,
store: haomlGeimjTongjGrid_store,
header: false,
columnLines : true,
selModel: selModelGeimjTongj,
autoScroll : true,
selType: 'cellmodel',
plugins: [rowEditingGeimjTongj],
viewConfig: {
markDirty: false//隐藏红三角
},
columns: [{
xtype: 'gridcolumn',
width: 150,
dataIndex: 'name',
align: 'center',
header:'<div style=" text-align: center; vertical-align: middle;">机组</div>',
text: '机组'
}, {
xtype: 'numbercolumn',
dataIndex: 'gaokgl',
align: 'center',
width: 150,
text: '高卡高硫煤(吨)',
header:'<div style=" text-align: center; vertical-align: middle;">高卡高硫煤(吨)</div>',
editor: {
xtype: 'numberfield',
minValue : 0,
allowBlank: true
}
}, {
xtype: 'actioncolumn',
align: 'center',
width:30,
items: [{
cls : "x-btn-text-icon",
icon: '../images/extjs/application_edit.png',
tooltip: '编辑',
handler: function(haomlTongjGeimjGrid, rowIndex, colIndex) {
var date = Ext.getCmp('statdate').getValue();
var nowdate = new Date();
var year = nowdate.getFullYear();
var month = nowdate.getMonth();
var day = nowdate.getDate();
var currentdate = new Date(year, month, day);
if(date >= currentdate){
rowEditingGeimjTongj.startEdit(rowIndex, 0);
}
}
}]
}]
});
同时也在可以在grid的edit事件中重新刷新页面去掉,当执行success回调函数时可以刷新页面,如下:
haomlTongjGeimjGrid.on('edit', function(editor, e, eOpts){
var record = haomlGeimjTongjGrid_store.getModifiedRecords();
var results = '[';
for ( var i = 0; i < record.length; i++)// 将要修改的数据,转成JSON
{
if (i == record.length - 1)// 如果为最后一条数据增加大括号
{
results = results + Ext.JSON.encode(record[i].data)+ ']';
} else {
results = results + Ext.JSON.encode(record[i].data)+ ',';
}
}
if (results == '[') {
Ext.Msg.alert('提示信息:', '页面没有变动!');
return false;
} Ext.Ajax.request({
url : 'saveDataOfGeimjTongj',
jsonData : results,
params: {
peimdwid: Ext.getCmp("mixcoalunit").getValue(),
date: Ext.getCmp('statdate').getValue()
},
method : 'POST',
success : function(response) {
haomlTongjGeimjGrid.getSelectionModel().clearSelections(); //重新加载给煤机耗煤量统计信息,这里我已经注销掉了
// haomlGeimjTongjGrid_store.load({
// params: {
// peimdwid: Ext.getCmp('mixcoalunit').getValue(),
// statdate: Ext.getCmp('statdate').getValue()
// }
// }); var text = response.responseText;
Ext.Msg.alert('提示信息:', text);
},
faliure: function (response) {
if(response.status == 404){
Ext.Msg.alert('提示信息', '运行错误!');
}
}
});
});