我正在创建一个Ext.grid.GridPanel。我正在尝试将xtype: button
列添加到列模型中。我不确定,如果我能做到这一点。下面是我的代码,这也是jsfiddle http://jsfiddle.net/bXUtQ/
我正在使用extjs 3.4
Ext.onReady(function () {
var myData = [[ 'Lisa', "lisa@simpsons.com", "555-111-1224"],
[ 'Bart', "bart@simpsons.com", "555-222-1234"],
[ 'Homer', "home@simpsons.com", "555-222-1244"],
[ 'Marge', "marge@simpsons.com", "555-222-1254"]];
var store = new Ext.data.ArrayStore({
fields:[ {
name: 'name'
},
{
name: 'email'
},
{
name: 'phone'
}],
data: myData
});
var grid = new Ext.grid.GridPanel({
renderTo: 'grid-container',
columns:[ {
header: 'Name',
dataIndex: 'name'
},
{
header: 'Email',
dataIndex: 'email'
},
{
header: 'Phone',
dataIndex: 'phone'
},
{
header: 'action',
xtype: 'actioncolumn',
iconCls: 'delete-icon'
text: 'Delete',
name: 'deleteBtn',
handler: function(grid, rowIndex, colIndex, item, e) {
alert('deleted');
}
},
//////////////////////////////
//I cannot add this column
{
header: 'action',
xtype: 'button',
text: 'update',
name: 'btnSubmit'
}
],
store: store,
frame: true,
height: 240,
width: 500,
title: 'Framed with Row Selection',
iconCls: 'icon-grid',
sm: new Ext.grid.RowSelectionModel({
singleSelect: true
})
});
});
答案 0 :(得分:0)
您不能像这样使用按钮作为列。我们正在使用以下用户体验来实现您的要求。不幸的是,这是针对ExtJS 4.1:
http://www.sencha.com/forum/showthread.php?148064-Component-Column-Components-in-Grid-Cells
答案 1 :(得分:0)
您可以尝试网格RowActions。
答案 2 :(得分:0)
你会尝试将此作为你的动作栏吗
{
xtype: 'actioncolumn',
width: 50,
items:
[
{
icon: 'app/resources/images/cog_edit.png', // Use a URL in the icon config
tooltip: 'Edit',
handler: function (grid, rowIndex, colIndex) {
var rec = grid.getStore().getAt(rowIndex);
alert("Edit " + rec.get('name'));
}
},
{
icon: 'app/resources/images/delete.png',
tooltip: 'Delete',
handler: function (grid, rowIndex, colIndex) {
var rec = grid.getStore().getAt(rowIndex);
alert("Terminate " + rec.get('name'));
}
}
]
}
或者您可以针对actioncolumnbutton
尝试此插件