2012-05-09 72 views
2

好吧,所以我已经提出了一个应用程序来从交换中获取邮箱大小,但是我需要一些帮助使排序工作顺利。 我数据绑定电网用我自己的课,我使用的解决方案在这里让我排序列表:How to sort databound DataGridView column?Datagrid排序GB,MB,KB,B的

而是试图将邮箱进行排序时,大小也没有做像我想的话,请能有人给我一些见解在这? 现在,我已经将MB部分和大小(双)分为2个不同的列。 任何想法是欢迎。 enter image description here

在截图的问题是不可见的,但是我想只是GB之上,但是MB的结果在上面导致其容易有200MB,而不是在200GB您的邮箱。

+0

你的问题很可能是,无论你使用'CompareTo'实现什么是在字符串“10 ,8 GB“而不是基础值,因此您将按字母顺序排列输入内容。您应该设置您的用户界面,以便“字符串格式”仅用于显示“GB”,并且您的排序代码将按照数字排序基础值。 – Alain

+0

所以,如果我明白你正确,我应该只是有字节值(容易得到我)保存在某处,必须对此进行排序?在这种情况下,你可以给我一个例子,我不知道怎么做 – Kage

+0

不,没有必要复制你的数据。如果您需要示例解决方案,则必须发布现有代码以将数据链接到UI,排序以及其他所有相关的代码。 – Alain

回答

0

感谢上面的评论,我已经能够想出一个方法来完成这项工作。 我添加了一个额外的值给我的类,它只包含字节,这使得它成为网格中的一个隐藏列。 使用headerclick的事件,并在这里我使它在隐藏的列而不是字符串列上排序