Extjs使某些单元格在修改时不可编辑
我正在使用Extjs3.2和网格行编辑器插件。我有添加、修改和删除按钮。我在网格中有四个单元格(id、firstname、lastname、roll no)。在添加的情况下,所有字段都应该是可编辑的,这样他就可以添加所有四个字段。但假设如果单击一条现有记录并单击修改,我希望id字段不可编辑。如何实现这一点 下面是我的代码Extjs使某些单元格在修改时不可编辑,extjs,Extjs,我正在使用Extjs3.2和网格行编辑器插件。我有添加、修改和删除按钮。我在网格中有四个单元格(id、firstname、lastname、roll no)。在添加的情况下,所有字段都应该是可编辑的,这样他就可以添加所有四个字段。但假设如果单击一条现有记录并单击修改,我希望id字段不可编辑。如何实现这一点 下面是我的代码 var grid= new Ext.grid.GridPanel({ store : store_surv,
var grid= new Ext.grid.GridPanel({
store : store_surv,
id : "grid_surv",
columns : [
{
header : "Id",
width : 120,
sortable : true,
dataIndex : 'id',
renderer: function (value, metaData, record, rowIndex, colIndex, store) {
return getToolTip(value, metaData, record, rowIndex, colIndex, store);
} ,
editor : {
xtype : 'textfield',
allowBlank : true
}
}
{
header : "First Name",
width : 120,
sortable : true,
dataIndex : 'fname',
renderer: function (value, metaData, record, rowIndex, colIndex, store) {
return getToolTip(value, metaData, record, rowIndex, colIndex, store);
} ,
editor : {
xtype : 'textfield',
allowBlank : true
}
}
{
header : "Last Name",
width : 120,
sortable : true,
dataIndex : 'lname',
renderer: function (value, metaData, record, rowIndex, colIndex, store) {
return getToolTip(value, metaData, record, rowIndex, colIndex, store);
} ,
editor : {
xtype : 'textfield',
allowBlank : true
}
},
{
header : "Roll No",
width : 120,
sortable : true,
dataIndex : 'roll',
renderer: function (value, metaData, record, rowIndex, colIndex, store) {
return getToolTip(value, metaData, record, rowIndex, colIndex, store);
} ,
editor : {
xtype : 'textfield',
allowBlank : true
}
} ],
title : 'Student List',
height : 350,
width : 750,
frame : false
})
) 在编辑器对象中添加一个
afteredit
侦听器,并在该侦听器中调用id text字段上的setDisabled(true)
方法,如下所示:
var idTextField = Ext.create({
xtype : 'textfield',
allowBlank : true
});
var editor = new Ext.ux.grid.RowEditor({
saveText: 'Update',
listeners: {
afteredit: function(){
idTextField.setDisabled(true);
}
}
});
并通过将旧文本字段替换为上述内容来修改现有代码:
...
{
header : "Id",
width : 120,
sortable : true,
dataIndex : 'id',
renderer: function (value, metaData, record, rowIndex, colIndex, store) {
return getToolTip(value, metaData, record, rowIndex, colIndex, store);
},
editor : idTextField
}
...
所以我们刚刚更改了编辑器属性。@编辑后它不工作意味着当一切都完成后,我们单击“更新”按钮,然后它被单击,但我希望在编辑之前,但问题是它将调用add-alsoWell,您尝试过吗?在afteredit上,当您第一次添加值时,它将禁用您的文本字段,并且当您将来想要更新时,您将无法编辑该值。当编辑完成,有人试图保存,但我希望在保存之前调用。如果你不手动填充网格,则使用beforeedit,除了afteredit。