2012-03-14 80 views
0

我在获取GridView列的字符串以正确排序时遇到了一些麻烦。如何对包含数值的非均匀字符串进行排序?

在列中的类型的值是这样的:99,999 $ 200 $,/ 500,/ 50000

基本上非十进制货币值即可以有 '/',而不是一个 '$'

有没有人有一个很好的方法来排序这些?

+2

请不要在“C#.NET - ”等前加前缀。这就是标签的用途。 – 2012-03-14 22:42:16

+2

你想如何排序值?如果所有的货币值都是第一位的,然后非货币值是第二位的,或者排序功能应该忽略$和/并且只是按照数字或其他方式排序呢? – 2012-03-14 22:42:37

+0

我希望值能从最大到最小排序,反之亦然。 '/'和'$'无关紧要。 – Ted 2012-03-14 22:47:01

回答

2

您可以创建一个排序函数,它接受一组字符串,删除第一个字符,然后按照正常排序。这将删除$或/问题。

详细说明:创建一个新的iComparer,然后让它返回是否string1.SubString [1]> string2.SubString [1]。我会写一些代码,但是我现在远离装有VS或Mono的电脑。

+1

感谢您的帮助,目前正在对此采取措施。 – Ted 2012-03-14 22:53:58

0

实现我可以将BoundField的排序表达式设置为gridview上的一个不同的隐藏列(它包含统一的itemCD字符串中的数量)。卫生署!

相关问题