extjs 网格面板任意行中的文件字段
Posted
技术标签:
【中文标题】extjs 网格面板任意行中的文件字段【英文标题】:File field in any row of extjs grid panel 【发布时间】:2015-02-17 07:55:02 【问题描述】:我想创建一个网格面板,并为用户添加的任何行插入一个文件,换句话说,任何行中的一列都是一个文件字段。
Id如何做到这一点?
更新:
Ext.define('FM.view.map.DefineCode',
extend: 'Ext.window.Window',
title: 'Define Code',
alias: 'widget.mmDefineCode',
width: 600,
modal: true,
items: [
xtype: 'form',
items: [
xtype: 'gridpanel',
title: 'myGrid',
store: 'DefineCode',
columns: [
text: 'Id',
xtype: 'rownumberer',
width: 20
,
text: 'Name',
dataIndex: 'name',
flex: 1,
editor:
xtype: 'textfield'
,
text: 'File',
dataIndex: 'filename',
width: 200,
editor:
xtype: 'filefield',
emptyText: 'Select your Icon',
name: 'photo-path',
buttonText: '',
flex: 1,
buttonConfig:
iconCls: 'icon-upload-18x18'
,
listeners:
change: function(e, ee, eee)
var grid = this.up('grid');
var store = grid.getStore();
var newStore = Ext.create('FM.store.Path',);
store.insert(store.data.items.length, newStore);
,
,
text: '',
width: 40
],
height: 200,
width: 600,
plugins: [
Ext.create('Ext.grid.plugin.CellEditing',
clicksToEdit: 1
)
]
],
],
buttons: [text: 'OK', action: 'OK'],
initComponent: function()
var me = this;
Ext.apply(me, );
me.callParent(arguments);
);
我想在任何行中选择一个图标,然后将任何行(带有名称和文件名变量)发送到服务器。这是怎么做到的?
【问题讨论】:
【参考方案1】:尝试使用 defaultType 来做到这一点,如下所示:
defaultType: 'filefield',
items: [
fieldLabel: 'Document 1',
name: 'first',
allowBlank: false
,
fieldLabel: 'Document 2',
name: 'second',
allowBlank: false
],
查看this 演示,我已为您创建。 我正在使用 CellEditing 编辑您单击的单元格,在单元格名称中测试单击。
【讨论】:
感谢您的回复,现在我如何将行发送到服务器(文件和其他变量)? 您可以使用 PUT 方法到您的 ajax 来发送文件,对于变量您可以使用 POST。这取决于您,请参阅thisdocumentation。 但只有最后一行的值发送到服务器,我更新了我的问题。 抱歉,您可以为此创建一个不同的问题。我很乐意为您解答。以上是关于extjs 网格面板任意行中的文件字段的主要内容,如果未能解决你的问题,请参考以下文章