0
열을 기준으로 목록보기를 정렬하고 싶습니다.이 예제 코드는 http://support.microsoft.com/kb/319401입니다. 작동하지만 listview 끝에 빈 항목이 하나 있는데 열을 클릭하면이 항목이 첫 번째 항목이되고 끝에 필요합니다. 빈 항목을 건너 뛰도록 코드를 만들려면 어떻게해야합니까?colums로 listview를 정렬하면 먼저 빈 목록이 표시됩니다.
감사합니다. 비교의 원래 결과를 오버라이드 (override) 할 필요가
// 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);
이 :처럼 뭔가
// Compare the two items
compareResult = ObjectCompare.Compare(listviewX.SubItems[ColumnToSort].Text,
listviewY.SubItems[ColumnToSort].Text);
: 당신이 비교 방법의이 부분을 변경할 수 있습니다 전체 예제를 구현 한 경우
안녕하세요, 답변은 작동하지만 오름차순으로 오름차순이 아닙니다. 그것은갑니다 : 공백 -> Z -> Y -> X -> W -> V -> U -> –
사용중인 SortOrder를 사용하여 대답을 편집했습니다. 물론 빈 항목은 항상 마지막에 남습니다. 나는 당신이 그걸 원할 것이라고 기대하지 않았지만, 보시다시피, 이것은별로 많은 코드가 아닙니다. 나는 그것이 효과가 있기를 바랍니다. – TaW
고마워요, 해냈어! –