2013-06-11 5 views
1

У меня есть сетка EXTJS с 2 actioncolumns с иконками. Как настроить средство визуализации, чтобы скрыть значок, если IsApproved = true? Я пробовал this.columns [0] .items [0] .icon = ''; но получить ошибку this.columns не определен.EXTJS условно скрыть иконку

columns: [ 
        { header: 'Name', dataIndex: 'Name', flex: 1 }, 
        { header: 'Login', dataIndex: 'Login', flex: 1 }, 
        { header: 'Registered', dataIndex: 'RegisteredOn', flex: 1 }, 
        { header: 'Invited', dataIndex: 'InvitationSent', flex: 1 }, 
        { xtype: 'actioncolumn', 
         width: 40, 
         header: 'Invite', 
         tdCls: 'clickable', 
         renderer: function (value, metadata, record) { 
          if (record.get('IsApproved')) { 
           //HIDE ICON 
          } else { 
           //SHOW ICON 
          } 
         }, 
         items: [{ 
          icon: '/images/icon_email.png', 
          tooltip: 'Invite', 
          scope: this, 
          handler: this.inviteClick 
         }] 
        }, 
        { xtype: 'actioncolumn', width: 40, header: 'Edit', tdCls: 'clickable', items: [{ 
         icon: '/images/pencil.png', 
         tooltip: 'Edit', 
         scope: this, 
         handler: this.editClick 
        }] 
        } 
       ], 

ответ

3

Попробуйте мой путь - если ваше состояние верно, так что вы положили значок в ячейке, в другой ситуации, вы не:

   { 
        xtype: 'actioncolumn', 
        width: 70, 
        align: 'center', 
        dataIndex: 'yourDataIndex', 
        menuDisabled: 'true', 
        text: 'sometext', 
        sortable: false, 
        fixed: 'true', 
        renderer: function (value, metadata, record) { 
         if (record.get('IsApproved')) { 
          metadata.tdCls = 'mycss' 
         } 
        } 
       } 

и добавить CSS для вашей ситуации:

.mycss { 
    background-position:center !important; 
    width: auto !important; 
    background-repeat: no-repeat; 
    background-image: url("yourIcon.png") !important; 
} 
+1

Это работает для скрытия значка. Но действие ссылки все еще существует. (Извините, не упоминалось, что ссылка также должна быть удалена). – NikZ

+0

вы: «Но действие ссылки все еще существует». Где ваша ссылка в вашем вопросе? –

+0

с обработчиком: this.inviteClick – NikZ

Смежные вопросы