1

私はextjs mvcを使用しており、レンダラーを持つ列があります

{
        text: __('Profiler.Personage.Settings.Active'),
        name: 'AdminDeny',

        renderer: function (value, metaData, record, row, col, store, gridView) {
            if (value == null || value == true) {
                return '<a class="Deactive"  href="javascript:void(0);"><img src="' + icon.Deactive + '" alt="Is Default" title="' + __('Profiler.Personage.PhoneGrid.IsDefault') + '" class="grid-icon" /></a>';
            } else {
                return '<a href="javascript:void(0);"><img src="' + icon.IsDefault + '" alt="Is Default" title="' + __('Profiler.Personage.PhoneGrid.IsDefault') + '" class="grid-icon" /></a>';
            }
        }

ここに画像の説明を入力 クリックするaと、コントローラーのセルの値を取得したい

4

1 に答える 1

1

簡単です。actioncolumnを使用する必要があります:

{
     text: 'Is active',
     xtype: 'actioncolumn',
     align: 'center',
     dataIndex: 'is_active',
     width: 70,
     renderer: function (value, metaData, record, row, col, store, gridView) {
         if (value == null || value == true) {
             return '<img action="disable" src="/path/to/image.png" title="Some title" class="grid-icon" />';
         } else {
             return '<img action="enable" src="/path/to/image.png" alt="Is Default" title="Some title" class="grid-icon" />';
         }
     }
}

そしてあなたのコントローラーで:

    init:function() {
        this.control({

            ...

            'panel[itemId=mygrid] actioncolumn': {
                click: function(grid, cell, row, col, e) {
                    var record = grid.getStore().getAt(row),
                        action = e.getTarget('.grid-icon', 3, true).getAttribute('action'),
                        message;

                    if(action == 'enable') {
                        message = 'Clicked "enable" for '+record.get('name');
                    }else if(action == 'disable') {
                        message = 'Clicked "disable" for '+record.get('name');
                    }
                    alert(message);
                }
            }

            ...

        });

        ...
    }

githubのライブ例を参照してください:http://htmlpreview.github.com/?https: //github.com/werdender/ext4examples/blob/master/actioncolumns.html

于 2013-01-26T15:47:14.597 に答える