2008-09-17 19 views
0

これは、.NETの世界でGridviewの専門家が必要とする最初の本当の問題です。.Net Gridviewのアルファソートでは、数値でソートする必要があります

私はcodebehindからGridviewを作成し、列に数値データを保持しています。しかし、コードビハインドからの数値フィールドにコンマを追加します。私はGridviewに読み込むとき、私は並べ替え機能を有効にしているが、グリッドビューは、アルファをソートするのではなく、数値で並べ替えることを選択します。

私は助けが必要です。誰でもこのショットを欲しがっていますか?私は、使用しているアルファソートではなく、グリッドビュー内のいくつかのカラムを数値ソートに変更する必要があります。

答えて

0
Array.Sort(tringArray, delegate(string left, string right) 
{ 
    return StrCmpLogicalW(left, right); 
}); 

その代わりに、私はjQueryの表ソーターに頼っ。

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

0

グリッドビューの並べ替えのための独自の比較オブジェクトを提供できると思います。ただIComparerを含める。こちらの記事は以下のとおりです。

Gridview Guy Article

1

あなたがあなた自身の比較演算を実行し、文字列、数値「適切」と呼ばれる自然なソートを治療するためのアルゴリズムとして、それらを仕分け終わるならば。ジェフはここでかなり良いエントリを書いた:

http://www.codinghorror.com/blog/archives/001018.html

をあなたがここにC#でかなり良い実装を見つけることができます正確にどのようにあなたはのいずれかを使用することができソートやっているのに応じて、 http://www.codeproject.com/KB/string/NaturalSortComparer.aspx

0

を上記のメソッドを使用するか、DBに戻り、列が実際に数値型の場合はソートを完了させ、その後に装飾を追加することができます。

0

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

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

次に、あなた自身の比較者として使用することができます。 (VS2005で)例えば

0

私は、これは本当に古いであると認識していますが、プレゼンテーションでデータを混合しています。それがこの種のことです。カンマを付けずにSQLから数値を取得し、プレゼンテーション層に追加します。

関連する問題