现在grid添加了两个按钮,我现在想给按钮的click做监听,不会取按钮的对象。直接上代码:
Ext.onReady(function(){
var cm = new Ext.grid.ColumnModel([
//new Ext.grid.RowNumberer(),
{header:'编号',dataIndex:'id',sortable:true},
{header:'名称',dataIndex:'name',sortable:true},
{header:'描述',dataIndex:'descn',sortable:true},
{header:'操作',dataIndex:'oper',sortable:true,renderer:oper}
]);
var data =[
['1','name1','desc1'],
['2','name2','desc2'],
['3','name3','desc3'],
['4','name4','desc4'],
['5','name5','desc5']
];
var store = new Ext.data.Store({
proxy:new Ext.data.MemoryProxy(data),
reader:new Ext.data.ArrayReader({},[
{name: 'id'},
{name: 'name'},
{name: 'descn'}
])
});
function oper(){
return "<input id='modify' type='button' value='修改'/> <input id='del' type='button' value='删除' onclick='Ext.Msg.confirm(\"删除提示\",\"您确认要删除吗?\",function(){alert(\"删除成功!\")})'/>";
}
store.load();
var grid = new Ext.grid.GridPanel({
renderTo:'grid',
//id:'grid',
height:200,
width:450,
store:store,
cm:cm
});
});
1.v是当前单元格的值
2.p里保存的是cellId单元格id,id不知道是干啥的,似乎是列号,css是这个单元格的css样式。
3.record是这行的所有数据,你想要什么,record.data["id"]这样就获得了。
4.rowIndex是行号,不是从头往下数的意思,而是计算了分页以后的结果。
5.i列号。
6.ds,也就是对应grid store。
Ext.get("del")
get方 法
get方法用来得到一个Ext元素,也就是类型为Ext.Element的对象, Ext.Element类是Ext对DOM的封装,代表DOM的元素,可以为每一个DOM创建一个对应的Element对象,可以通过Element对象 上的方法来实现对DOM指定的操作,比如用hide方法可以隐藏元素、initDD方法可以让指定的DOM具有拖放特性等。get方法其实是 Ext.Element.get的简写形式。
看你代码感觉你是想在click事件里取对应这一行数据。
Ext.onReady(function(){
var cm = new Ext.grid.ColumnModel([
//new Ext.grid.RowNumberer(),
{header:'编号',dataIndex:'id',sortable:true},
{header:'名称',dataIndex:'name',sortable:true},
{header:'描述',dataIndex:'descn',sortable:true},
{header:'操作',dataIndex:'oper',sortable:true,renderer:oper}
]);
var data =[
['1','name1','desc1'],
['2','name2','desc2'],
['3','name3','desc3'],
['4','name4','desc4'],
['5','name5','desc5']
];
var store = new Ext.data.Store({
proxy:new Ext.data.MemoryProxy(data),
reader:new Ext.data.ArrayReader({},[
{name: 'id'},
{name: 'name'},
{name: 'descn'}
])
});
function oper(p, r, rowIndex, i, ds) {
return " ";
}
store.load();
var grid = new Ext.grid.GridPanel({
renderTo:'grid',
//id:'grid',
height:200,
width:450,
store:store,
cm:cm
});
Ext.gr = grid ;
});
function deleteRow(row) { //click 事件获取事件
alert(Ext.encode(Ext.gr.getStore().getAt(row).data));
}
你检查看看 rowIndex值是什么。rowIndex表示第几行
function oper(p, r, rowIndex, i, ds) {
[code="java"]alert(rowIndex)[/code]
return " <input id='del' type='button' value='删除' onclick='deleteRow("
不还意思少些了个参数
function oper(v, p, r, rowIndex, i, ds) {
alert(rowIndex)
return "<input id='modify' type='button' value='修改'/> <input id='del' type='button' value='删除' onclick='deleteRow("
+ rowIndex + ")'/>";
}