2012-06-17 109 views
0

如何禁用特定的单元格编辑从XML数据文件?extjs禁用单元格编辑

这样的:

<price disabled="true">9.37</price> 

请给我的例子提前 感谢

回答

2

首先,看你需要从XML响应属性包括在模型中的字段具有mapping config来属性,请参阅this post。你的情况是这样的:

Ext.define('yourApp.model.Price', { 
    extend: 'Ext.data.Model', 
    fields: [ 
     {name: 'price',  type: 'float'}, 
     {name: 'disabled', type: 'boolean', mapping: 'price/@disabled'} 
    ] 
}); 

它已经一段时间,因为我已经使用XML响应,所以你可能有玩弄这一点。

然后,您应该简单地在您的网格面板的beforeedit事件中包含一个检查,以防止在该记录的disabled字段为true时进行编辑。

如果您使用的是MVC模式,将是这样的:

// controllers init function 
init: function() { 

    this.control({ 

     'yourgridpanel': { 

      // prevent disabled edits 
      beforeedit: function(plugin, edit) { 

       if (edit.record.get('disabled')) { 
        return false; 
       } 
      } 
     } 
    }); 
} 

如果不使用MVC模式的处理程序会去是这样的:

yourGridPanel.on('beforeedit', function(plugin, edit) { 
    if (edit.record.get('disabled')) { 
     return false; 
    } 
}); 
相关问题