- - PR -
DataTableでのソートにSUBSTRINGを使いたい。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-03-22 16:49
DataTableをソートするのに、列名でソートではなく、
SUBSTRINGを使って、部分文字列でソートをしたいと考えています。 たとえばSQLで書くと、 AAAという列があるとき、 「ORDER BY SUBSTRING(AAA,2,2),SUBSTRING(AAA,1,1)」 のように書けると思うのですが、DataTableでは可能なのでしょうか? SelectメソッドかDataViewを使用しようと思ったのですが、 sortプロパティの部分に記述すると、 「SUSTRING(AAAという列名はありません」 という実行エラーになってしまいました。 どなたか教えていただけませんでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2004-03-22 17:01
Sortプロパティに指定できる文字列には、列名とASC、DESCしか指定できないようです(MSDNトピック「DataView を使用したデータの並べ替えとフィルタ処理」で、RowFilterには式の説明があるが、Sortにはないことから判断)。 対策として、擬似的に列を追加し、その列のExpressionにSUBSTRINGを使用。擬似的に追加した列でソートする、、、というのはいかがでしょうか。 | ||||
|
投稿日時: 2004-03-22 17:20
ソートしたDataTableのColumns.Countを使用して、TSV形式の文字列を作成しようと していたので、擬似的に列を作成してしまうとDataTableのColumnsが変わってしまうと 少し困ってしまいます。 しかし、擬似的にコピーのDataTableを作成する等して対応するしかなさそうですね。 やってみようと思います。 Jittaさん、どうもありがとうございました。 |
1