//定义记录
var Record = Ext.data.Record.create([
{name: 'id', type: 'string'},
{name: 'name', type: 'string'},
{name: 'descn', type: 'string'}
]);
//现在需要两个按钮,一个添加行,另一个做反向工程。
*********添加行**************
//首先new一个刚才定义的Record,记得给里面的属性赋值
var p = new Record({id:'',name:'',descn:''});
//紧接着关闭表格的编辑状态
grid.stopEditing();
//然后把刚创建的Record插入store的第一行
store.insert(0,p);
//最后激活第一行的编辑状态
grid.startEditing();
**********删除行*****************
//首先获得grid的选择模型
var sm = grid.getSelectionModel();
//从选择模型获得选中单元格
var cell = sm.getSelectedCell();
//这个单元格有两个属性,一个是行号,一个是列号。我们通过行号得到store这一行对应的Record,然后删掉它。
var record = store.getAt(cell[0]);
store.remove(record);
另外指出一下,两按钮之间的“-”会变成分隔符,让工具条更酷一些。
部分代码如下:
tbar: new Ext.Toolbar(['-', {
text: '添加一行',
handler: function(){
var p = new Record({
id:'',
name:'',
descn:''
});
grid.stopEditing();
store.insert(0, p);
grid.startEditing(0, 0);
}
}, '-', {
text:'删除一行',
handler: function(){
Ext.Msg.confirm('信息','确定要删除?', function(btn){
if(btn == 'yes') {
var sm = grid.getSelectionModel();
var cell = sm.getSelectedCell();
var record = store.getAt(cell[0]);
store.remove(record);
}
});
}
}, '-' ])