0

如何禁用 xml 数据文件中的特定单元格编辑?

像这样:

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

请给我例子提前谢谢

4

1 回答 1

3

首先,要从 XML 响应中读取属性,您需要在模型中包含一个mapping对属性进行配置的字段,请参阅这篇文章。在你的情况下是这样的:

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

自从我使用 XML 响应以来已经有一段时间了,所以您可能不得不尝试一下。

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

如果您使用的是 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;
    }
});
于 2012-06-17T21:00:46.440 回答