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フィールドが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;
    }
});
于 2012-06-17T21:00:46.440 に答える