0

グループ行を作成するために使用ftype: 'grouping'している Ext JS グリッドがあります。groupHeaderTpl: ...'ユーザーがグループ行をクリックしたときに、他のすべてのグループ行が折りたたまれ、このグループ行が展開されるようにしたいと考えています。

このページによるとgroupclick、サブスクライブできるイベントがあり、 と のメソッドがcollapseAll()ありexpand()ます。

イベントをサブスクライブしgroupclick、メソッドを正常に呼び出すことができましたcollapseAll()。ただし、expand()メソッドを機能させることはできません。

これが問題です。このexpand()メソッドでは を渡す必要がありますがgroupName、それが実際に何を望んでいるのかわかりません。イベント内ではgroupclick、 という変数にアクセスできますgroupが、その変数は常にundefinedです。

私の質問:メソッドが要求しgroupNameているのは何ですか?また、イベントexpand()内からどのようにアクセスすればよいですか? groupclick私が見ていないモデルまたはグリッドで定義する必要がありますか?

これが私のコントローラーコードです:

 onGroupClick: function (view, node, group, e, eOpts) {
            console.log(view);
            console.log(node);
            console.log(group) //this is always undefined

            view.features[0].collapseAll(); //works fine
            view.features[0].expand(groupName);  //what goes here for groupName???
        },
4

1 に答える 1

1

group変数はグループ名を保持します。したがって、以下のコードは仕事をするはずです:

groupclick: function (view, node, group, e, eOpts) {
    view.features[0].collapseAll(); 
    view.features[0].expand(group);
}

変数が定義されていない場合groupは、グループ化の定義に問題がある可能性があります。ストアでは、モデルからのフィールドの名前を定義する必要がありますgroupField(おそらく、そのフィールドはレコードに対して空ですか?)。

作業サンプル: http://jsfiddle.net/CEJY5/

于 2013-10-29T12:07:35.587 に答える