Ext grid单元格编辑时获取获取Ext.grid.column.Column

时间:2023-03-09 19:48:19
Ext grid单元格编辑时获取获取Ext.grid.column.Column

item2.width = 80;
//item2.flex = 1;
item2.align = 'center';
item2.menuDisabled = true; //禁止显示列头部右侧菜单
item2.sortable = false; //禁止点击列排序
item2.editor = {
xtype: 'textfield', selectOnFocus: true,
enableKeyEvents: true,
listeners: {
keydown: function (txt, e, eOpts) {
var grid = txt.up("grid");
var selections = grid.getSelectionModel().getSelection();
var store = grid.getStore();
var selectData = selections[0];
var dataIndex = store.indexOf(selectData);

if (e.keyCode == 13 && dataIndex == 1) {
var colName = txt.name;
var SerialNumberStore = Ext.getStore("SerialNumberNumericalInspStore");
var value = txt.getValue();
//if (value.length != 4) {
// Ext.Msg.alert("提示", "请输入后四位");
// return;
//};
// 检索的正则
var regExp = new RegExp("^.*" + value.toUpperCase() + "$");
// 执行检索
SerialNumberStore.filterBy(function (record, id) {
// 得到每个record的项目名称值
var text = record.get('PROD_SN');//fieldName CHANGED
var text_sub = text.substring(text.length - 4, text.length);
return regExp.test(text_sub);
});
var grid = Ext.ComponentQuery.query("Ali_NumericalInspCenter[name=numericalInspGrid]");
grid = grid[grid.length - 1];
var filtered_records = SerialNumberStore.data.items;
if (filtered_records.length > 0) {
var filtered_record = filtered_records[0];
// 赋值
txt.setValue(filtered_record.data.CHANGED);

var grid_store = grid.getStore();
grid_store.findRecord("INSP_ART_DTL_NM", "Fixed Part", 0, false, false, true).set(colName, filtered_record.data.FIXED);
grid_store.findRecord("INSP_ART_DTL_NM", "Cell Name", 0, false, false, true).set(colName, "-");
//resizeRowNumber(grid, 3);
grid.plugins[0].startEdit(1, grid.editingPlugin.context.colIdx+2);
}
else {
Ext.Msg.alert('Message', 'There is no data to match.');
txt.setValue('');
}
}
}
}
};