0

これは、.NET の世界にいる Gridview の専門家が必要とする最初の本当の質問です。

コードビハインドから Gridview を作成していますが、列に多数の数値データを保持しています。ただし、コードビハインドの数値フィールドにコンマを追加します。それをGridviewにロードすると、ソート機能がオンになりますが、グリッドビューは、これらのコンマを追加するため、数値でソートするのではなく、ALPHAソートを選択します。

だから私は助けが必要です。これを試してみたい人はいますか?グリッドビューの列の一部を、使用しているアルファ ソートではなく数値ソートに変更する必要があります。

4

5 に答える 5

1

独自の比較プログラムを実装して文字列としてソートすることになった場合、数値を「適切に」処理するためのアルゴリズムは自然ソートと呼ばれます。ジェフはここにかなり良いエントリを書きました:
人間のための並べ替え:自然順

ここでC#のかなり良い実装を見つけることができます:http:
//www.codeproject.com/KB/string/NaturalSortComparer.aspx

于 2008-09-17T03:59:39.203 に答える
0

並べ替えの方法に応じて、上記のいずれかの方法を使用するか、DBに戻って、列が実際に数値タイプである場合はそこで並べ替えを実行し、後で装飾を追加することができます。

于 2008-09-17T05:47:46.103 に答える
0

代わりに、JQUERY テーブル ソーターを使用しました。

ここで見つけることができます:tablesorter

于 2009-03-20T22:45:16.060 に答える
0

P-Invoke はあなたの友達です。

[DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)]
private static extern int StrCmpLogicalW(string psz1, string psz2);

その後、独自の比較子として使用できます。

たとえば(VS2005の場合)、

Array.Sort(tringArray, delegate(string left, string right)
{
    return StrCmpLogicalW(left, right);
});
于 2008-09-18T22:00:19.940 に答える
0

これは本当に古いことだと思いますが、データとプレゼンテーションを混在させています。それがその種を台無しにしているものです。コンマを追加せずに SQL から数値を取得し、プレゼンテーション層に追加します。

于 2012-01-27T17:49:19.763 に答える