我想按列对列表视图进行排序,并使用了以下示例代码:http : //support.microsoft.com/kb/319401。它可以工作,但是在列表视图的末尾我有一些空白项,当我单击列时,这些项成为第一项,最后需要它们。如何使代码跳过空白项?
谢谢。
如果已经实现了整个示例,则可以更改Compare方法的这一部分:
// Compare the two items
compareResult = ObjectCompare.Compare(listviewX.SubItems[ColumnToSort].Text,
listviewY.SubItems[ColumnToSort].Text);
像这样:
// Compare the two items
compareResult = ObjectCompare.Compare(listviewX.SubItems[ColumnToSort].Text,
listviewY.SubItems[ColumnToSort].Text);
if (listviewX.SubItems[ColumnToSort].Text=="")
compareResult = (OrderOfSort == SortOrder.Descending ? -1: 1);
else if (listviewY.SubItems[ColumnToSort].Text=="")
compareResult = (OrderOfSort == SortOrder.Descending ? 1 : -1);
这应该覆盖比较的原始结果。
观看如何检查空项目,也可以为空,或者之前做过的任何事情..!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句