私はEditorGridPanel
データセットを持っています。一部のセルの編集を無効にしたい (フィールド レコードの読み取り専用がデータベースであることを確認してくださいYES
)。
私はその呼び出しをしgetSiteEditable
ました。セル編集を無効にしますが、セル A (読み取り専用セル) をクリックすると、その後セル B をcancel
クリックしてダブルクリックすると、セル B の内容がセル A にコピーされます。
データ ストア:
siteStore = new Ext.data.JsonStore({
idProperty: 'ROWI',
root: 'data',
autoLoad: true,
mode: 'remote',
url: WOERP.getURL("portals", "sm", "grid", "grid=portal_sm_configui_site_tab_grid&action=get"),
keys: ['CONFIG_TYPE'],
fields: [
'ROWI',
'CONFIG_VALUE',
'CONFIG_DESC',
'CONFIG_TYPE',
'SHORT_DESC',
'IS_READ_ONLY',
'ROWDATE']
});
this.gridSiteData = Ext.ux.grid.woerp.getWoerpGrid(this.gridSiteData, siteStore);
siteRowEditor = Ext.getCmp('portal_sm_configui_site_tab_grid_roweditor');
siteRowEditor.on('beforeedit', this.getSiteEditable, this);
setSiteEditable 関数
getSiteEditable: function (roweditor, rowIndex) {
if (!roweditor.initialized) {
roweditor.initFields();
}
var fields = roweditor.items.items;
var rec = this.gridSiteData.store.getAt(rowIndex);
var isReadOnly = rec.data.IS_READ_ONLY;
if (isReadOnly == 'YES') {
Ext.each(fields, function (field, i) {
if (field.name == 'CONFIG_VALUE') field.setDisabled(true);
});
} else Ext.each(fields, function (field, i) {
if (field.name == 'CONFIG_VALUE') field.setDisabled(false);
});
}
上記のメソッドを呼び出すことで編集可能な機能を無効にすることができますが、データセルをクリックすると、データセルのコンテンツの下にコピーされ、クリックしたデータセルの上部に小さな赤いアイコンが表示されます。
データを別のセルにコピーする理由を知っている人はいますか?
ページの読み込み セル A をダブルクリック セル B をダブルクリックした後 (セル B の内容をセル A にコピー)