tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルフレキシブルグリッドで3桁カンマ区切りの数値(金額)をソートする方法は?
記事No3862
投稿日: 2006/06/21(Wed) 10:44
投稿者QQQ
フレキシブルグリッドに3桁カンマ区切りの数値(金額)を表示させる為に、
TextmatrixにはFormat(10000, "#,###")やFormat(960, "#,###")というような
値をセットしていま
す。
→この場合、10,000と960と表示されます。
このような値を持たせた列でソート(FlexSortNumericDescendingやFlexSortStringNoCaseDescending)
した場合、なぜかカンマ区切りより左の数値でのソートが行なわれてしまいます。
→この場合、960>10,000となってしまう。
3桁区切りの金額の表示方法を何らかの方法に変更した方が良いのでしょうか?またはソート方法を変
更した方が良いでしょうか?
どなたか回答をお願いします。

[ツリー表示へ]
タイトルRe: フレキシブルグリッドで3桁カンマ区切りの数値(金額)をソートする方法は?
記事No3874
投稿日: 2006/06/22(Thu) 10:56
投稿者花ちゃん
マナーを守らないとレスが付きませんよ。
(返事がないようなら削除します)

フレキシブルグリッド といっても色々あるようですので、製品名やバージョンを明記
するようにして下さい。

MSFlexGrid 関係なら、(他は持っていないので知らない)
Format 関数は文字列を返しますので文字列としてソートされますのでそのように
並び変ります。

対策
1.Format(AxMSHFlexGrid1.get_TextMatrix(i, 6), "#,###").PadLeft(12) のように
  左側にスペースを埋める
2.並び替える前に桁区切りを元に戻す
3.並び替える必要がある列をコピーして(非表示で)作っておく
4.カスタムソートをする(ちょっと厄介で意外と遅い、やりたければ自分で調べる事)
5.その他条件により色々

[ツリー表示へ]