0

ここで説明されているように、JSON 文字列として取得されたオブジェクトのリストがあります

DataGrid では、次のように並べ替えを行います (わかりやすくするために 1 つの列を示しています)。

nameColomn.setSortable(true);
    final ListHandler<SomeObject> nameColomnSortHandler = new ListHandler<SomeObject>(dataProvider.getList());
    nameColomnSortHandler.setComparator(nameColomn, new Comparator<SomeObject>() {
        @Override
        public int compare(SomeObject o1, SomeObject o2) {
            return o1.getName().compareTo(o2.getName());
        }
    });
    dataGrid.addColumnSortHandler(nameColomnSortHandler);

そして、これは私のオブジェクトです

public class SomeObject extends JavaScriptObject {

           //Other methods
           public final native String getName() /*-{ return this.n; }-*/;
    }

並べ替えがうまくいきません。何か不足していますか?

4

2 に答える 2

0

JavaScriptObject とは関係ありません。実際には、DataProvider にデータを設定する前に並べ替えを行っていました。

于 2012-08-27T15:00:49.760 に答える
0

サンプル コードでsetComparatorアタッチしているソート ハンドラとは異なるソート ハンドラで呼び出しています。DataGrid

他のすべては私には問題ないようです。並べ替えが機能しないと言うとき、どういう意味ですか? 何も起こりませんか?JavaScript エラーはありますか? 列ヘッダーにカーソルを合わせると、マウス カーソルが変わりますか?

于 2012-08-27T00:22:26.573 に答える