繁体   English   中英

Ext Js Grid,如何获取keyup上单元格的值?

[英]Ext Js Grid, How to get the value of cell on keyup?

我正在使用Ext Js v6.2 Grid,在我的应用程序中,我需要在keyup上获取单元格的值。在此,我尝试了代码,但未返回该值,如果需要,请更正我的代码是错误的,我已经搜索了文档和其他无济于事的东西。请解决此问题。 提前致谢。

更新代码

    Ext.define('MisCharge', {
                    extend: 'Ext.data.Model',
                    fields: [
                        {name: 'name', mapping: 'name'},
                        {name: 'age', mapping: 'age'},
                        {name: 'marks', mapping: 'marks'}
                    ]

                });
            }


// Store data
            var myData = [
                {name: "Container Cost"},
                {name: "Packaging Cost  "},
                {name: "Handling Charges "},
                {name: "Service Cost of Buyer "},
                {name: "Documentation"},
                {name: "Cntry of origin Cert."},
                {name: "Royalties"},
                {name: "Value of Proceeds"},
                {name: "Warranty Services"},
                {name: "Seller Obligation"},
                {name: "Other Charges"},
            ];
            // Creation of first grid store
            var gridStore1 = Ext.create('Ext.data.Store', {
                model: 'MisCharge',
                data: myData,
            });
            // Creation of first grid
            var gridStore = Ext.create('Ext.grid.Panel', {
                cls: 'custom-grid',
                id: 'gridId',
                store: gridStore1,
                stripeRows: true,
                width: '100%',
                collapsible: false,
                enableColumnMove: false,
                columnLines: true,
                sortableColumns: false,
                enableColumnHide: false,
                enableColumnResize: false,
                enableRowHeightSync: true,
                columns:
                        [{
                                header: "Charges",
                                dataIndex: 'name',
                                id: 'charge',
                                width: 200,
                                height: 20,
                                flex: 1

                            },
                            {
                           editor: {
                           xtype: 'textfield',
                           enableKeyEvents: true,
                           listeners: {
                           keyup: function (form, e) {
                           var sel_model = gridStore.getSelectionModel(); 
                           var record = sel_model.getSelection()[0];
                           alert(record);
                                        }
                                    }

                                },
                                header: "Rate%",
                                dataIndex: 'age',
                                flex: 1,
                                sortable: true,
                                height: 20,
                                hideable: false,
                            },
                            {
                                editor: {
                                    xtype: 'textfield',
//                                    selectOnFocus: true
                                },
                                header: "Amount()",
                                dataIndex: 'marks',
                                flex: 1,
                                height: 20,
                                sortable: true,
                            }],
                selType: 'cellmodel',
                plugins: [
                    Ext.create('Ext.grid.plugin.CellEditing', {
                        clicksToEdit: 1
                    })]
            });

您需要通过引用el元素来添加事件。

editor: {
        xtype: 'textfield',
        enableKeyEvents: true,
        listeners: {
            keyup: {
                element: 'el',
                fn: function (a, b) {
                    var record = gridStore.getSelectionModel().selected.items[0].data
                    alert(record);
                }
            }
        }
    }

暂无
暂无

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

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