0

DataGridの並べ替え全体が終了した後、コードを実行する可能性が本当に必要です。特に、列が昇順または降順でソートされているかどうかを示す小さな矢印が表示された後、表示後にこの矢印のCSSを操作する必要があるためです。矢印が実際に設定されている場所が見つかりませんでした。私はこのようなことを試みました:

ListHandler<String> columnSortHandler = new ListHandler<String>(list) {
    @Override
    public void onColumnSort( ColumnSortEvent event ) {
        super.onColumnSort( event );
        // My Code here
    }
};

ただし、コードは並べ替えが終了する前にも実行されます。

この問題を解決する方法を提案してくれてありがとう。私は長い間探していますが、役立つものは何も見つかりません。

編集:私はすでにオリジナルDataGrid.Resourcesをオーバーライドして、カスタムの矢印画像を提供しています。AbstractCell<String>また、ランタイム操作をサポートし、DIVとImageでレンダリングされる複雑なカスタムヘッダーもあります。

4

2 に答える 2

0

を使用しているListHandlerので、おそらくそれはライブListDataProviderを更新します(); と(内部を介して)の両方が使用するため、を使用することで、それらを追いかけることが保証されますが、ちらつきのリスクがあります。CellTable setRowDataListDataProviderCellTableHasDataPresenterScheduler#scheduleFinally()Scheduler#scheduleDeferred()

カスタムListHandler flush()では ListDataProvider、をバイパスして、のいずれかの後に実行するためにscheduleFinally使用できます(コマンドをスケジュールするを呼び出すため、コマンドは後にスケジュールされるため、後に実行されます)。scheduleFinallyCellTableflush()setRowDataCellTable

于 2013-01-10T13:12:46.220 に答える
0

を使用してcssリソースを操作できますCellTable.Resources

public interface TableResources extends CellTable.Resources {
@Source("up.png")
ImageResource cellTableSortAscending();

@Source("down.png")
ImageResource cellTableSortDescending();

@Source("MyCellTable.css")
CellTable.Style cellTableStyle();

}

スタイルMyCellTable.css名を使用してアイコンを変更する

于 2013-01-10T12:54:14.760 に答える