Mam kolumnę akcji w mojej sieci, która jest potrzebna do wykonania wielu niebanalnych operacji po kliknięciu na nią. Nie chcę używać metody obsługi tylko w celu uniknięcia obłudy w moim kodzie. Chcę obsłużyć zdarzenie click z metody kontrolera, które można wywołać z większej ilości stron.Jak wywołać akcję kontrolera z siatki akcji kolumny
Oto moja definicja kolumnie Działanie:
{
header: translator.translate('actions'),
xtype: 'actioncolumn',
width: 50,
items:[{
id : 'detailContactPerson',
icon : '/resources/images/pencil.png',
tooltip: translator.translate('show_detail')
}]
},
Ale teraz nie wiem jak napisać Component definicji zapytania utworzenia słuchacza.
init: function() {
this.control({
'detailContactPerson': {
click: function(obj) {
var contactPerson = obj.up('container').contactPerson;
this.detail(contactPerson);
}
},
Drugi sposób, jaki próbowałem to wywołanie metody kontrolera bezpośrednio z metody obsługi. Wygląda to tak:
{
header: translator.translate('actions'),
xtype: 'actioncolumn',
width: 50,
items:[{
id : 'detailContactPerson',
icon : '/resources/images/pencil.png',
handler: function(contactPerson){
Project.controller.contactPerson.detail(contactPerson);
},
tooltip: translator.translate('show_detail')
}
Niestety nie jest obsługiwany sposób wywoływania metody kontrolera (nie zgłoszono wyjątku dla metody).
Ktoś może mi pomóc w konstruowaniu działającego zapytania Component, lub pokazać niektóre przykład sposobu wywoływania metody kontrolera z zewnątrz?
Hi Atian. Dzięki za odpowiedź. Pierwsze zdanie (i wiele wariacji) próbowałem już prawie. Myślę, że problem polega na tym, że elementy kolumny akcji nie są komponentami. Są zdefiniowane jako prosta tablica. To czyni niemożliwym uzyskanie tego za pomocą ComponentQuery. Ale nie jestem pewien, zapytam twórców Sencha, jak tylko będę w biurze. Sposób "click event" wygląda doskonale. Spróbuję tego. Jeszcze raz Dziękuję bardzo. Doceniam to. – elCarda
tak, to nie jest składnik. this.control nie może uzyskać do niego dostępu. Nie lubię ActionColumn i wolę używać wtyczki – atian25
Działa to doskonale, dziękuję. – elCarda