如何在ExtJS中的网格单元格中显示文件字段

时间:2016-12-18 08:48:13

标签: extjs components filefield

我在表单上创建了一个网格,我正在动态显示记录,我正在使用单元格编辑器编辑注释列,在另一列中使用filefield浏览文件并在附件列中显示其完整路径。 请参阅我正在使用的代码:

                  {
                        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'
                                    }
                                ]
                            }
                        ]
                    }

加载后,网格记录会动态显示如下:

enter image description here

现在,我的问题是在我们双击单元格后显示filefield。 [下面是截图]:

enter image description here

所以,我想用记录显示文件字段[不要双击单元格]。

1 个答案:

答案 0 :(得分:0)

正如@alexander在评论中提到的,使用ExtJS 6,您可以使用Ext.grid.column.Widget将文件字段添加到网格中。

例如,检查this fiddle