PDA

View Full Version : 2つのグリッドの連動ソート



ak_ext
23 Feb 2009, 11:22 PM
データが繋がっているグリッドを横に2つくっつけた時、
片方のグリッドのカラ

yuki
26 Feb 2009, 7:30 PM
2つのgridでstoreを共有しているのであれば、片方をソートしたら、もう片方も自動的にソートされます。

それぞれの別のstoreを持っている場合は、gridのsortchangeイベントを拾ってもう片方のgridのstoreのsortメソッドを呼んであげればソートできます

サンプルコード (http://extjssamples-jp.googlecode.com/svn/trunk/grid/multigridsort.html)

また、単にカラムを固定したいだけなのであれば、下記のスレッド(英語ですが)が、そのためのUXが利用可能です(他に確かプラグインもあったと思います)

grid with locking column (http://extjs.com/forum/showthread.php?t=17942)

ak_ext
27 Feb 2009, 2:26 AM
動き的には「Storeを共有している

yuki
27 Feb 2009, 7:57 AM
上のサンプルもストアを共有している2つの別々のGridなのですが・・・

ついでに、別々のGridが同時にスクロールするように改造したサンプルを作ってみました(ついでに片方で選択するともう片方でも選択されます):

別グリッドでストア共有、同時スクロールのサンプル (http://extjssamples-jp.googlecode.com/svn/trunk/grid/multigridsort2.html)

ak_ext
5 Mar 2009, 1:29 AM
サンプルで頂いた
http://extjssamples-jp.googlecode.com/svn/trunk/grid/multigridsort2.html
の動きを実現したいのですが、添付したサンプルに対して、
左右のグリッドのソートを合わせる事はできますでしょうか。。

このサンプルは2つのグリッドが隣合った単純な物ですが、
実際に適用するのは、この作りでもっと複雑な物です。

multigridsort2.html のように修正できれば一番よかったのですが、
もし方法があれば、適応したく思います。
何卒宜しくお願いします。 

yuki
5 Mar 2009, 4:22 AM
2つのGridのStoreが実際にどうなっているかによりますが、、、


Storeを共有している場合
これは前のポストでも書いてますが、自動的に連動します。

Storeが別々だがデータの「キー(field)」が一緒の場合
これも前のポストのサンプル (http://extjssamples-jp.googlecode.com/svn/trunk/grid/multigridsort.html)の2つ目を見てもらえば分かりますが、片方のStoreの'sortchange'イベントでもう片方のStoreを同じキーでソートしてあげれば連動します。

Storeが別々で「キー」も別々の場合
この場合、キーが一致してないので、「このキーがソートされたときには、このキーでソートする」というルールを決めたうえで、後は2と同じ手段を使えば連動できます。

ak_ext
5 Mar 2009, 10:10 PM
ストアを1つにする事で解決できました。