0

ここに記載されている手順に従って、aspxgridviewのカスタムソートを実装しました:http://documentation.devexpress.com/#AspNet/CustomDocument3818

ただし、現在アクティブなページのみが並べ替えられることに気付いたので、別のページに移動するたびに、列をもう一度クリックして並べ替える必要があります。

この動作は正しいですか、それとも何かが足りませんか?どうすれば解決できますか?

PS:PageIndexChangedイベントをキャプチャして、アクティブなページを手動で並べ替えることを考えましたが、それはあまりにもハックなようです...

4

2 に答える 2

1

コードを確認していませんが、date1.CompareToメソッドが-1、0、または1の値を返さないため、コードが機能していないようです。ゼロ未満、それに等しく、ゼロより大きい値を返す場合があります。

これらの3つの数値のみを受け入れることができるため、e.Resultプロパティ値を確認してください。

ちなみに、あなたはリテラル形式の日付を持っていて、その場で文字列を変換しようとしているようです。日付を適切な形式に変換するバインドされていない列を作成する方が簡単な場合があると思います。そうすれば、カスタムの並べ替えイベントハンドラーを作成する必要がなくなります。

ありがとう、

ベスト(DevExpressサポート)

于 2010-11-11T19:04:10.407 に答える
0

並べ替えの何が問題になっていますか?アルファベット順にソートすることを期待していますか?

このサンプルは、カスタムソートの方法を示しています。したがって、並べ替えるときは、アルゴリズムを使用して文字列の長さをチェックし、文字列の長さで並べ替えます。

「この例は、カスタムソートを実装する方法を示しています。「国」列にはテキスト値が表示されます。この列にソートが適用されると、行は「国」列値の長さで比較されます。」

私はそれをテストしました、そしてそれは正しく働くようです。

このサンプルも役立つかもしれません。

お役に立てば幸いです。

于 2010-11-09T23:56:24.723 に答える