表格默认添加新纪录的时候是在第一行第一列可编辑单元格内给定的焦点,但是很多时候并不是所有的列都不需要编辑,所以就需要指定列焦点,修改方法很简单:-----------------------------JS改动-------------------------------------------
如下:
ext-part2.js里面用Editplus打开第2753行左右找到这个函数: f_addNewRecord,
// 添加一条新纪录
f_addNewRecord: function (defaultObj, appendToEnd) {
var i, count, store = this.getStore();
var newRecord = defaultObj; //new Ext.data.Model(defaultObj);
f_addNewRecord: function (defaultObj, appendToEnd) {
var i, count, store = this.getStore();
var newRecord = defaultObj; //new Ext.data.Model(defaultObj);
this.f_cellEditing.cancelEdit();
var rowIndex = 0;
if (appendToEnd) {
store.add(newRecord);
rowIndex = store.getCount() - 1;
} else {
store.insert(0, newRecord);
rowIndex = 0;
}
this.f_cellEditing.startEditByPosition({
row: rowIndex,
column: this.f_firstEditableColumnIndex()
});
},
复制代码
这个函数默认添加的焦点是在第一行第一列的可编辑区域,只需做如下扩展即可:
Copy这个函数改函数名:并加入一个参数:
// 添加一条指定焦点列的新纪录
f_addNewFocusColumnRecord: function (focusColumnIndex, defaultObj, appendToEnd) {
var i, count, store = this.getStore();
var newRecord = defaultObj; //new Ext.data.Model(defaultObj);