1

値を返すためにストアからデータをロードする必要があるレンダラー関数がありますが、グリッド列に必要なものを返す方法がわかりません。

{header: 'Manager First Name', 
renderer: function(value, meta, record){
    record.Managers().load({
        scope: this,
        callback: function(managers, operation, success){
            if(success && managers){
               managers[0].getPerson({
                    scope: this,
                    callback: function(person, operation){
                        if(person){
                            return person.get("firstName");
                        } else {
                            console.error('This manager doesn\'t have a person record.');
                            return '';
                        }
                    }
                });
            } else {
                console.error('No manager record for the shop '+record.getId());
            }
        }
    });
}}

と関数returnの前に配置してみましたが無駄になりました。イベントを開催することも考えましたが、どうなるかわかりません。何か案は?loadgetPerson

4

1 に答える 1

2

メイングリッドをレンダリングする前に、追加情報をロードします。このように、renderer()関数では、すでにロードされているデータを使用します。

そうしないと、レンダラー関数が何度も呼び出され、ストアを非同期でロードする際に大きな問題が発生します。

于 2012-04-16T17:59:54.153 に答える