Extjs4.1.0を使用しています。
アクションカラムのあるグリッドがあります。いくつかの条件に基づいて、このアクション列のアイコンを変更する必要があります。
この列のアイコンをレンダリングするために3つのgetClassメソッドを使用しています。
xtype: 'actioncolumn',
items: [
{
getClass: function (v, meta, rec)
{
if (rec.get('fieldDeleteFlag') == false) return 'x-grid-del-css';
else return '';
},
handler: function (grid, rowIndex, colIndex)
{
alert('delete');
}
},{
getClass: function (v, meta, rec)
{
if (rec.get('fieldDeleteFlag') == false) return 'x-grid-edit-css';
else return '';
handler: function (grid, rowIndex, colIndex)
{
alert('edit');
}
},{
getClass: function (v, meta, rec)
{
if (rec.get('fieldDeleteFlag') == true) return 'x-grid-activate-css';
else return '';
}
handler: function (grid, rowIndex, colIndex)
{
alert('Activate');
}
}],
grid.getStore().getAt(rowIndex).set('change',false);
したがって、フラグがfalseの場合、編集と削除の2つのアイコンが必要です。フラグがtrueの場合、アイコンをアクティブ化するだけです。
アクティブ化アイコンハンドラーをクリックすると、フラグ列がfalseに設定され、この行の編集アイコンと削除アイコンのみが表示されます。
グリッドがレンダリングされているとき、アイコンは完全に表示されます。しかし、アクティブ化ハンドラーをクリックすると、アクティブ化アイコンを削除して、編集アイコンと削除アイコンを表示できません。
どんな体でもこれを行う方法を教えてもらえますか...