我最近开始学习ExtJS。我创建了一个包含列(名称,电子邮件,电话)的网格,并使用商店添加了一些虚拟数据。此处列 - ("名称")是可编辑列。当用户看到该网格时,他应该知道(名称)列是可编辑的。为此,我需要将编辑符号(iconCls:' fa fa-edit' fontawesome)添加到"名称"下的每列中的数据的右侧。标题,以便用户可以知道该列是可编辑的。我怎么能实现这一点。请帮助我,我尝试了很多,但没有找到解决方案。谢谢提前。
ExtJS网格代码:
Ext.define(' FirstApp.view.main.List',{ 延伸:' Ext.grid.Panel', xtype:'主列表', columnLines:true,
requires: [
'FirstApp.store.Personnel',
'Ext.grid.filters.Filters'
],
title: 'Personnel',
collapsible: true,
iconCls: 'icon-grid',
frame: true,
width: 700,
height: 500,
resizable: true,
plugins: 'gridfilters',
emptyText: 'No Matching Records',
loadMask: true,
stateful: true,
stateId: 'stateful-filter-grid',
store: {
type: 'personnel',
autoLoad: true,
autoDestroy: true
},
tbar: [{
text: 'Show Filters...',
tooltip: 'Show filter data for the store',
handler: 'onShowFilters'
}, {
text: 'Clear Filters',
tooltip: 'Clear all filters',
handler: 'onClearFilters'
}],
columns: [
{ text: 'Name', dataIndex: 'name',flex:1,
align: 'center',
editor: {
xtype: 'textfield',
allowBlank: false
},
filter: {
type: 'string',
itemDefaults: {
emptyText: 'Search for...'
} }},
{ text: 'Email', dataIndex: 'email', flex: 1,filter: {
type: 'string',
itemDefaults: {
emptyText: 'Search for...'
} }},
{ text: 'Phone', dataIndex: 'phone', flex: 1 }
],
selType: 'cellmodel',
plugins: [
Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
})
]
});
refer Grid image with arrowd indication where that editable fontawesome should appear
答案 0 :(得分:0)
我找到了解决这个问题的方法。
我们要在哪个列中添加编辑图像,该图像位于从商店获取的数据的右侧,以指示它是可编辑的列。 1)。首先将列设置为“widgetcolumn”,然后按如下方式对网格进行更改:
//网格列代码示例:
columns: [
{ text: 'Name',
dataIndex: 'name',
width: 200,
xtype: 'widgetcolumn',
cls:'x-button-default-small-cell > .x-grid-cell-inner >.x-btn-default-small',
sortable: true,
widget:{
textAlign:'left',
iconCls:'x-fa fa-edit',
iconAlign: 'right',
xtype:'button',
handler: function(btn) {
var rec = btn.getWidgetRecord();
}
},
align: 'center',
editable:true,
editor: {
xtype: 'textfield',
allowBlank: false
},
filter: {
type: 'string',
itemDefaults: {
emptyText: 'Search for...'
} }}]
2)。更改css文件以更改按钮的颜色
.x-button-default-small-cell > .x-grid-cell-inner >.x-btn-default-small {
vertical-align: top;
border-color: transparent;
background-color: transparent;
}