Как отобразить поле файла в ячейке сетки в ExtJS

Я создал сетку в форме, и я динамически отображаю записи, и я использую редактор ячеек, чтобы редактировать столбец комментариев, а в другом столбце - поле файла, чтобы просмотреть файл и отображать его полный путь в столбце вложения. Посмотрите код, который я использую:

                  {
                        xtype: 'container',
                        flex: 1,
                        layout: {
                            type: 'fit'
                        },
                        items: [
                            {
                                xtype: 'grid',
                                itemId: 'myAttachGrid',
                                reference: 'myAttachGrid ',
                                store: Ext.create('JSSample.store.attach.MyAttachGrid'),
                                multiSelect: true,
                                autoScroll: true,
                                columnWidth: 1,
                                editable: true,
                                columnLines: true,
                                plugins: [
                                    Ext.create('Ext.grid.plugin.CellEditing', {
                                        clicksToMoveEditor: 1,
                                        autoCancel: false
                                    })
                                ],
                                columns: [
                                    {
                                        header: 'File', dataIndex: 'Attachments', width: '40%'
                                    },                                        
                                    {
                                        header: '',
                                        dataIndex: '',
                                        width: '10%',
                                        hideable: true,
                                        editor: {
                                            xtype: 'filefield',
                                            labelWidth: 50,
                                            msgTarget: 'side',
                                            buttonOnly: true,
                                            anchor: '100%',                                                
                                            buttonText: '...',
                                            listeners: {
                                                change: function (fld, value) {
                                                    alert(value.replace(/C:\\fakepath\\/g, ''));
                                                }
                                            }
                                        }
                                    },                                      

                                    {
                                        header: 'Comments', dataIndex: 'Comments', width: '50%', editor: 'textfield'
                                    }
                                ]
                            }
                        ]
                    }

После загрузки таблицы сетки отображаются динамически, как это:

Теперь моя проблема в том, что filefield отображается после двойного щелчка по ячейке. [ниже скриншот]:

Итак, я хочу видеть поле файла с записями [без двойного щелчка по ячейке].

1 ответ

Как отметил @alexander в комментарии, с ExtJS 6 вы можете использовать Ext.grid.column.Widget, чтобы добавить поле файла в вашу сетку.

Проверьте эту скрипку, например.

Другие вопросы по тегам