所以我有这个数据网格视图,我必须按照具有数字和字符串的列进行排序,我想要做的是先按降序排列数字,然后是字符串(我不要&#39) ; t非常关心排序字符串,只是在数字之后)
我的代码适用于数字,但如果列中有任何字符串,则会给我一个参数异常
DataGridView5.Sort(DataGridView5.Columns("Column8"), System.ComponentModel.ListSortDirection.Descending)
编辑:
假设我的列具有以下值
我需要它像
那样排序答案 0 :(得分:0)
因此,您似乎首先要将数字排序到顶部,然后按降序对数字进行数字排序。
首先,您需要根据它是否为数字进行排序。您可以使用int.TryParse(或十进制)执行此操作。为此,您需要一个一次性的“out”变量。
因此,如果它可以将字段解析为整数,则按数字0排序。否则按1排序。这会将数字放在顶部。
int parsedNum;
Sort Descending >> int.TryParse(s, out parsedNum) ? 0 : 1;
要按顺序对数字进行排序,当然需要以数字方式排序。您可以有条件地排序,但您可能必须转换为填充的字符串。
Sort Descending >> int.TryParse(s, out parsedNum) ? s.ToString("000000") : s;