ExtJS 5 - 将网格中双击的单元格的值传递给新窗口

时间:2016-02-29 22:23:36

标签: javascript extjs grid window

任何人都可以帮助我让我的双击功能在我的网格上按预期工作吗?每次在网格中双击一行时,我想要一个窗口弹出" command_output"字段显示在新窗口中。

目前,我的窗口打开时没有任何数据。

控制器功能

    onDoubleClick: function(grid, record) {
    var win = Ext.create("Ext.Window", {
        id: 'DossierArea',
        xtype:'form',
        title: 'Dossier',
        width: 600
    })

    win.show();
    }

网格属性

            id: 'ChangeLog',
            xtype: 'grid',
            viewConfig: {
                listeners: {
                    itemdblclick: 'onDoubleClick'
                }
            },
            split: true,
            title: 'Log',
            region: 'south',
            width: 600,
            height: 300,
            bind: {store: '{tasks}'},
            columns: {
                defaults: {
                    width: 175
                    },
                    items: 
                    [
                    { text: 'Script Command', dataIndex: 'command_script', flex: 1},
                    { text: 'Output', dataIndex: 'command_output', width: 250, flex: 1 },
                    { text: 'Status', dataIndex: 'state', width: 175,
                            renderer: 'deploymentHistoryStatusRenderer'},
                    { text: 'Timestamp Completed (GMT)', dataIndex: 'time_command_run', width: 225 },
                    ]

            },

            bbar: ['->',{
                        xtype: 'button',
                        text: 'Refresh',
                        listeners: {
                            click: 'refreshActions'
                        }
                    }
            ]

            }

商品

Store.model.Base.defineModel(
'Task',
{name: 'step', type: 'int'},
{name: 'state', type: 'int'},
{name: 'command_script', type: 'string'},
{name: 'command_output', type: 'string'},
{name: 'time_command_run', type: 'date', dateFormat: 'g:i A'}
],
true
);

1 个答案:

答案 0 :(得分:2)

在新窗口配置中添加文本字段,并从记录变量中将值设置为textField。

修改你的听众

onDoubleClick: function(grid, record) {
    var win = Ext.create("Ext.Window", {
        id: 'DossierArea',
        title:'My New Window',
        layout:'fit',
        items:[
            {
                xtype:'form',
                title: 'Dossier',
                width: 600,
                items:[
                    {
                        xtype: 'textfield',
                        name: 'name',
                        fieldLabel: 'Output',
                        value:record.get("command_output"),
                        allowBlank: false 
                    }
                ]
            }
        ]

    })

    win.show();
}