weixin_42333463
weixin_42333463
2010-08-05 10:49
浏览 461

grid里添加按钮,按钮的事件问题

[code="java"]var tbar = new Ext.Toolbar({
//renderTo : Ext.ux.maximgb.tg.GridPanel.tbar,// 其中grid是上边创建的grid容器
items : [{
text : '添加',
iconCls:'addBtn',
handler: newPlanTask
}, {
xtype : "tbseparator"
}, {
text : '修改',
iconCls : "editBtn", //图片样式, 需要自己寫css樣式,引入手寫的css,如果用自带会因为浏览器不兼容而不显示图片
handler: editPlanTask
}, {
xtype : "tbseparator"
}, {
text : '删除',
iconCls : "removeBtn",

handler: removePlanTask
}, {
xtype : "tbseparator"
}]

  });

// create the Grid
var grid = new Ext.ux.maximgb.tg.GridPanel({
  store: store,
  master_column_id : 'name',
  columns: [
    expander,
    {id:'name',header: '测试计划/任务', width: 160, sortable: true, dataIndex: 'name'},
    {header: '负责人', width: 160, sortable: true, dataIndex: 'owner'},
    {header: "计划开始时间", width: 140, sortable: true, renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'), dataIndex: 'planStart'},
    {header: "计划结束时间", width: 140, sortable: true, renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'), dataIndex: 'planFinish'},
    {header: "实际开始时间", width: 140, sortable: true, renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'), dataIndex: 'realStart'},
    {header: "实际结束时间", width: 140, sortable: true, renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'), dataIndex: 'realFinish'},
    {id:'status',header: '状态', width: 160, sortable: true, dataIndex: 'status'}
  ],
  stripeRows: true,
  autoExpandColumn: 'name',
  title: 'TestPlan',
  plugins: expander,
  tbar : tbar,
  viewConfig : {
    enableRowBody : true
  }
});
var vp = new Ext.Viewport({
    layout : 'fit',
    items : grid
});
}

function removePlanTask() {
alert(this.grid);
var _record = grid.getSelectionModel().getSelected();
if (_record) {
Ext.MessageBox.confirm('确认删除', '你确认要删除这条数据吗?', function(btn) {
if (btn == "yes") {
var m = grid.getSelections();
var jsonData = "";
for (var i = 0, len = m.length;i < len; i++) {
var ss = m[i].get("_id");
if (i == 0) {
jsonData = jsonData + ss;
} else {
jsonData = jsonData + "," + ss;
}
ds.remove(m[i]);
}[/code]
死活在remove方法里拿不到grid对象,为什么呢?
总是报grid为空或不是对象

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • works001
    works001 2010-08-05 12:39
    已采纳

    columns: [ 加上new Ext.grid.CheckboxSelectionModel()

    点赞 评论
  • sl166543210
    sl166543210 2010-08-05 11:03

    你用this.grid肯定取不到的,因为根据你的代码,你这个this指向的是window,你直接用grid取就行呀

    点赞 评论
  • sl166543210
    sl166543210 2010-08-05 12:24

    grid.getSelectionModel().getSelected()本身只是个对象,并没有length属性,他指你最后选中的那条;
    需要所有的话用grid.getSelectionModel().getSelections(),这些api上都有,建议多翻翻

    点赞 评论

相关推荐