2012-11-30 8 views
5

Mam actioncolumn coś takiego:Jak dodać dynamiczną etykietkę narzędziową na ikonach akcji extjs?

{ 
    xtype: 'actioncolumn', 
    align: 'center', 
    items: [ 
     { 
      getTip: function() { 
       return 'this doesn\'t work'; 
      }, 
      handler: function() { 
       // action 1 
      } 
     },{ 
      tooltip: 'works', 
      handler: function() { 
       // action 2 
      } 
     } 
    ] 
} 

getTip() metoda znalazłem w dokumentacji, ale to nie działa albo nie wiem, jak go używać. Co robię źle lub jak ustawić etykietkę?

+0

Zostało to poprawione w ExtJS 4.2 – df1

Odpowiedz

3

Wygląda na to, że jest to bug z getTip(), jak powiedział bjornd, ale udało mi się dodać etykietkę, która nie jest najlepsza, jak sądzę, ale działa dla mnie.

{ 
    xtype: 'actioncolumn', 
    align: 'center', 
    items: [ 
     { 
      getClass: function(value,meta,record,rowIx,colIx, store) { 
       this.items[0].tooltip = 'working ' + record('name'); 
       return 'some-class-name'; // or something if needed 
      }, 
      handler: function() { 
       // action 1 
      } 
     },{ 
      tooltip: 'works', 
      handler: function() { 
       // action 2 
      } 
     } 
    ] 
} 

Jeśli ktoś może zaproponować lepsze rozwiązanie, chętnie bym to usłyszał.

+0

Upewnij się, że nie masz konfiguracji podpowiedzi w kolumnie akcji, w przeciwnym razie getTip nie zostanie wywołany. W Ext 6 działa tak długo, jak nie ma konfiguracji tooltip. –

1

Jak podano w komentarzach dotyczących własności items:

opcja getTip nie wydaje się działać. Zadeklarowałem funkcję:

getTip:function(value, metadata, record) { 
    if(!record.get('editable')) 
     return 'Record is locked'; 
    return 'Delete record'; 
} 

, a wskazówka nie pojawia się po najechaniu kursorem myszy. Kod wynik w Firebug jest:

<td class=" x-grid-cell x-grid-cell-btn-timesheet-delete x-action-col-cell x-grid-cell-last"><div style="text-align: left; ;" class="x-grid-cell-inner "><img class="x-action-col-icon x-action-col-0 timesheet-option-icon-delete" src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" alt=""></div></td> 

Więc nie własność danych Q-Tip.

Uważam, że jest to znany problem. Możesz poczekać na aktualizację lub naprawić ją samemu z pewnym przesłonięciem.

+0

Ale może nie ma innego sposobu, aby dodać podpowiedź. Ktoś musiał to robić, jeśli ta metoda istnieje. – Vytautas

+1

@bjornd: Wypróbowałem twój kod i działa on dla mnie! – anitacynax

1

Użyłem

getTip : function(value, metaData, record){ 
    return this.getCheckOutCheckInToolTip(record); 
}, 

działa

Powiązane problemy