0

我想通过模拟鼠标单击或从 Chrome 控制台中单击 fireEvent 鼠标单击来选择行,不幸的是,以前的所有尝试均不成功并且不起作用。

document.getElementById('#....').click()等等..

之后,我发现我需要重写/使用 ext-all.js (4.0.2a) 中的火灾事件处理,但没有弄清楚如何在我的情况下明确地实现这一点。你能帮忙吗?

先感谢您。

所需状态的插图

在此处输入图像描述

4

1 回答 1

0

您使用grid.getSelectionModel()and 内部Ext.selection.Model有方法select()

在这个FIDDLE中,我使用您的代码创建了一个演示。我希望这会帮助/指导你。

代码片段

Ext.application({
    name: 'Fiddle',

    launch: function () {
        Ext.create('Ext.data.Store', {
            storeId: 'gridStore',
            fields: ['name', 'email', 'phone'],
            data: [{
                'name': 'Lisa',
                "email": "lisa@simpsons.com",
                "phone": "555-111-1224"
            }]
        });

        Ext.create('Ext.grid.Panel', {

            title: 'Grid manually selection',

            store: 'gridStore',

            columns: [{
                text: 'Name',
                dataIndex: 'name'
            }, {
                text: 'Email',
                dataIndex: 'email',
                flex: 1
            }, {
                text: 'Phone',
                dataIndex: 'phone'
            }],

            renderTo: Ext.getBody(),

            bbar: [{
                text: 'Assign',
                itemId: 'assignBtn',
                disabled: true// See initially button is disabled I have enable when record has been selected.
            }],

            listeners: {

                afterrender: function () {
                    this.getSelectionModel().select(this.getStore().getAt(0));
                },

                select: function (grid, rec, index) {
                    this.down('#assignBtn').setDisabled(false);
                }
            }
        });
    }
});
于 2018-04-03T11:40:44.130 回答