繁体   English   中英

Extjs 4.2:在网格面板中获取选定的单元格值

[英]Extjs 4.2: Getting the selected cell value in grid panel

我想获取网格中所选单元格的值。 我有以下代码:

方法:

createPlaylist:功能(记录){
var scope = this;
var srecords = getShowImages.getSelectionModel()。getSelection();

的console.log(srecords); }

我使用console.log来检查是否获得任何价值。

网格视图:

 Ext.ns('dlti.view.widget');
   Ext.define('dlti.view.widget.ShowImages' ,{
    extend: 'Ext.grid.Panel',
    id: 'dlti-grid-images',
    alias: 'widget.ShowImages',
    forceFit: true,
    stripeRows: true,
    selType: 'checkboxmodel',
    multiSelect: true,
    autosync: true,
    height: 250,
    width: 470,


    store: new dlti.store.UploadStore(),


    columns: [
        {
            text: 'Images',
            dataIndex: 'imagepath',
            renderer:   function renderIcon(val) {
                return '<img src="' + val + '"width="100px" height="100px" align="middle">';

            },          

        },
        {
            text: 'Filename',
            dataIndex: 'filename',
            renderer:   function renderDescTarget(val, p, record) {
                var desc = '';
                desc = '<p style="color:#000;font-size:12px;">' + val + '</p>';
                return desc;
            }
        }



    ]
});

您需要添加一个Select侦听器,例如;

selModel: Ext.create('Ext.selection.CellModel', {
                        allowDeselect: true,
                        mode: 'SINGLE',
                        listeners: {
                            select: {
                                fn: me.onCellModelSelect,
                                scope: me
                            }
                        }
                    })

然后,提醒单元格值的功能应如下所示;

onCellModelSelect: function(cellmodel, record, row, column, eOpts) {

        /*an if statement is required to parse the column chosen as
        record.get() only accepts string values of the column name so
        if the columns are named "first", "second", "third", the
        following if statement applies*/

        var columnName;

        if(column === 0){
            columnName= 'first';
        }else if(column === 1){
            columnName= 'Second';
        }else if(column === 2){
            columnName= 'Third';
        }
        Ext.Msg.alert('Cell Value',record.get(columnName));
    }
});

希望对你有效。 如果您希望我为此发送整页代码,请告诉我! <3

grid具有您可以使用的cellclick事件:

单击表格单元格时触发。

编辑:

在您的网格中,您可以添加一个监听器,该监听器将在每次单击单元格时触发(您可以将其添加到控制器中),例如:

listeners : {
    cellclick : function(view, cell, cellIndex, record, row, rowIndex, e) {
        console.log(cell);
    }
}

您必须收听gridpanel的cellclick事件。 在您看来,您必须在gridpanel的配置中添加以下内容:

listeners : {
    cellclick : function(view, cell, cellIndex, record, row, rowIndex, e) {
        //handle event   
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM