extjs网格面板任意一行的文件字段
File field in any row of extjs grid panel
我想创建一个网格面板,对于用户添加的任何行,插入一个文件,换句话说,任何行中的一列都是一个文件字段。
我该怎么做?
更新:
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);
}
});
我想要任何行 select 一个图标,然后将任何行(带有名称和文件名变量)发送到服务器。这是怎么做到的?
尝试使用 defaultType 来做到这一点,如下所示:
defaultType: 'filefield',
items: [{
fieldLabel: 'Document 1',
name: 'first',
allowBlank: false
}, {
fieldLabel: 'Document 2',
name: 'second',
allowBlank: false
}],
查看 this 演示,我已经为您创建了。
我正在使用 CellEditing 编辑您单击的单元格,测试单击单元格名称。
我想创建一个网格面板,对于用户添加的任何行,插入一个文件,换句话说,任何行中的一列都是一个文件字段。
我该怎么做?
更新:
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);
}
});
我想要任何行 select 一个图标,然后将任何行(带有名称和文件名变量)发送到服务器。这是怎么做到的?
尝试使用 defaultType 来做到这一点,如下所示:
defaultType: 'filefield',
items: [{
fieldLabel: 'Document 1',
name: 'first',
allowBlank: false
}, {
fieldLabel: 'Document 2',
name: 'second',
allowBlank: false
}],
查看 this 演示,我已经为您创建了。 我正在使用 CellEditing 编辑您单击的单元格,测试单击单元格名称。