Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 4.x:如何将数据从网格传递到弹出窗口?_Extjs_Window - Fatal编程技术网

Extjs 4.x:如何将数据从网格传递到弹出窗口?

Extjs 4.x:如何将数据从网格传递到弹出窗口?,extjs,window,Extjs,Window,有人能帮我吗 如果我将侦听器添加到网格并使用record.get('dataIndex'),它将返回未定义的 通过这个.getSelectionModel().getSelection()[0]我获得所选行,并将其保存在参数testsystem中 使用弹出窗口的构造函数,我将row对象分配给一个新变量,并尝试从该行获取数据。。但我没有工作:/ initcomponent: function { var config = { boddyPadding: 10,

有人能帮我吗

如果我将侦听器添加到网格并使用record.get('dataIndex'),它将返回未定义的

通过这个.getSelectionModel().getSelection()[0]我获得所选行,并将其保存在参数testsystem中

使用弹出窗口的构造函数,我将row对象分配给一个新变量,并尝试从该行获取数据。。但我没有工作:/

initcomponent: function { var config = {
         boddyPadding: 10,
         width: 1400,
         title: 'Testsystem',
         store: this.store,
         emptyText: 'Currently, no test system avaiable!',
         columns: [
                { header: 'System/Database', dataIndex: 'targetSystem', width: 130 },
                { header: 'Operating System', dataIndex: 'operatingSystem', width: 130 },
                { header: 'Version', dataIndex: 'version' },
                { header: 'Operating System Name', dataIndex: 'operatingSystemName', flex: 1 },
                { header: 'RAM', dataIndex: 'ram' },
                { header: 'Member Of', dataIndex: 'memberOf' },
                { header: 'Is Vm ?', dataIndex: 'isVM' },
                { header: 'MAC', dataIndex: 'mac' },
                { header: 'CPU Count', dataIndex: 'cpuCount' },
                { header: 'HDD', dataIndex: 'hdd' }
           ],
         selModel: new Ext.selection.RowModel({mode: 'SINGLE'}),
         forceFit: true,
         listener: {
           select: function(selModel, record, index, options){
                alert(record.get('targestSystem'));
           }
         },
         tbar: {
              items: [
                 { 
                      text: 'Refresh',
                      handler: function() {
                           this.store.reload();
                      },
                      scope: this
                   },
                 { xtype: 'tbseparator'},
                 { 
                      text: 'Edit',
                      handler: function(btn) {
                           new Inubit.Configuration.Edit({
                                testsystem: this.getSelectionModel().getSelection()[0],
                                modal: true,
                                listeners: {
                                     'close' : function() {
                                          this.store.reload();
                                     },
                                     scope: this
                                }
                           }).show(btn);
                      },
                      scope: this
                 }
              ]
          },

           dockedItems: [{
                xtype:'pagingtoolbar',
                store: this.store,
                dock: 'bottom',
                displayInfo: true,
                displayMsg: '{0} - {1} of {2}',
                emptyMsg: "No records to display",
            }]  
        }
和弹出窗口:

Ext.define('Inubit.Configuration.Edit', {
extend: 'Ext.window.Window',
title: 'Edit',

constructor : function(config) {
 this.testsystem = config.testsystem,
 this.name = this.testsystem.get('TargetSystem');

 alert(this.name),

 Ext.apply(this, Ext.apply(this.initialConfig));
 Inubit.Configuration.Edit.superclass.initComponent.call(this);
} });


我是extjs新手,在监听器中使用4.2,您只需填充希望从记录数据中显示的值。下面是示例代码

listener: {
       select: function(selModel, record, index, options){
            alert(record.data.name);
       }
     }
在代码示例中,您可以显示所需的值而不是名称。我喜欢小提琴手。我在这里展示我的名字。不能简单显示对象。请记住这一点

使用以下命令:

listeners : {
    select: function(selModel, record, index, options){
        Ext.create('Ext.window.Window', {
            title: 'windowTitle',
            id: 'newTodoListWindow',
            minHeight: 230,
            minWidth: 230,
            layout: 'fit',
            closable: true,
            cls:'windowPad',
            closeAction: 'destroy',
            defaultFocus:'todoTitle',
            items: [
                    {
                        html:record.data.name
                    }
                ]
         }).show();

   }
我有一个解决办法:

onEdit : function(grid) {
      var rows = this.getSelectionModel().getSelection();
      var row = rows[0];
      if (this.getSelectionModel().hasSelection()) {
           Ext.create('Ext.window.Window', {
                title: 'windowTitle',
                id: 'newTodoListWindow',
                minHeight: 230,
                minWidth: 230,
                layout: 'fit',
                closable: true,
                cls:'windowPad',
                closeAction: 'destroy',
                defaultFocus:'todoTitle',
                items: [
                { xtype: 'textfield',
                grow: false,
                width : 650,
                fieldLabel: 'System/Database',
                anchor: '100%',
                value : row.get('targetSystem')
                }]
             }).show();    
这将在一个新窗口中显示我需要的信息,谢谢大家的帮助!:)