如何在GridPanel的每一行中生成ext的button,生成html的可以,ext的button如何做
var cm = new Ext.grid.ColumnModel([{
header : '',
dataIndex : 'RN',
width : 20,
align:'left',
renderer:createButton
}
]);
function createButton(){
return ""
}
增加列的渲染器 renderer :
[code="js"]{header: "按钮列", width: 70, dataIndex: '', renderer: function(){ return '
';}}[/code]在grid上捕捉render渲染事件如下:
[code="js"]listeners: {
render: {
fn: function(grid){
var view = grid.getView();
for (var i = 0; i < store.getCount(); i++) {
var cell = Ext.fly(view.getCell(i, 2));
new Ext.Button({
handler: function(){
alert('Suppression')
},
renderTo: cell.child(".btn"),
text: 'Supprimer'
});
}
},
delay: 200
}
}
[/code]
Note the delay parameter. When the grid fire render event, rows are not already draw. On IE7 it's OK, but I've a problem with Firefox 3 (see attachment).
方法1.用Button的样式+html来模拟(可以看下button的源码,把它的xtemplate偷过去)
方法2.在gridview.refresh事件中遍历所有行,每行new一个button,然后渲染到该行指定单元格的div中去.
[url]http://rowactions.extjs.eu/[/url] 推荐使用这种
[img]http://yourgame.iteye.com/upload/picture/pic/39922/124df016-bc93-3643-8cbb-b137a60bc090.png[/img]