Очередной вопрос по ListView!
Как в этом контроле отсортировать колонку с численной информацией?
Проблема в том, что при использовании sortkey, данные сортируются по Asc-коду значений, т.е. 2 будет ити после 10
Заранее спасибо!
kif писал(а):2 - заполнять в определенном формате, в данном случае не 2, а 02. Что, на мой взгляд, проще.
lIntSortCol = <по какой колонке сортируем>
' форматируем поля для сортировки
For Each oListItem In lsvMainLib.ListItems
If Trim(oListItem.ListSubItems(lIntSortCol).Text) = "" Then _
oListItem.ListSubItems(lIntSortCol).Text = "-"
oListItem.ListSubItems(lIntSortCol).Text = _
Format(oListItem.ListSubItems(lIntSortCol).Text, "000000000000")
Next
' здесь сортировка
' возвращаем исходные значения
For Each oListItem In lsvMainLib.ListItems
If IsNumeric(oListItem.ListSubItems(lIntSortCol).Text) Then
oListItem.ListSubItems(lIntSortCol).Text = _
CLng(oListItem.ListSubItems(lIntSortCol).Text)
Else
If oListItem.ListSubItems(lIntSortCol).Text = "-" Then _
oListItem.ListSubItems(lIntSortCol).Text = ""
End If
Next
SHURUP писал(а):как перевести 1 в "000001", я так понимаю, что-то типа "Format(value, ????)"
Format(Value, "000000")
Сейчас этот форум просматривают: С.Т., Google-бот, Yandex-бот и гости: 2