Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Очередной баг с ListView, глюки с простейшей сорти Добавлено: 25.11.05 19:35  

Автор вопроса:  Pantalone
Вот примерчик: http://pantalone.nm.ru/ListViewBug3.rar
Сортировка самая примитивная в три строки кода всего.
Глюк в том что при русских языковых настройках сортировка работает нормально, а если языковые настройки сменить на английские, то слова начнут сортироваться неверно, а именно так:

Африка
Africa
Holland
Наполеон
Норвегия
Norway

Как победить?

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #1
Добавлено: 25.11.05 19:45
Поставить Option Compare Binary в начало модуля. Или писать собственную процедурку сравнения строк.
И сравнивать строчки желательно в UCase'е.

Ответить

Номер ответа: 2
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #2
Добавлено: 25.11.05 19:58
Посмотрел проект. Там использутся встроенная в ListView сортировка.
К сожалению, я не знаю, как ее менять (и подозреваю, что это невозможно). Но можно сортировку руками откодить, и там уже делать что в голову взбредет.

Ответить

Номер ответа: 3
Автор ответа:
 Pantalone



Вопросов: 32
Ответов: 104
 Профиль | | #3 Добавлено: 25.11.05 20:42
Да, вот это засада, у меня весь проект на этой сортировке звязан... Советы во втором посте естественно не помогли.

Ответить

Номер ответа: 4
Автор ответа:
 Calhoon



ICQ: 789764 

Вопросов: 90
Ответов: 230
 Web-сайт: 4elovekssn.blog.ru
 Профиль | | #4
Добавлено: 26.11.05 04:42
Может, попробуешь считать строки в массив, отсортировать его, потом загрузить обратно?

Ответить

Номер ответа: 5
Автор ответа:
 Pantalone



Вопросов: 32
Ответов: 104
 Профиль | | #5 Добавлено: 26.11.05 19:08
С массивом возьни много, помимо самой сортировки еще придется менять ключи и индексы в соответствии с сортировкой и отслеживать выделенные строки чтобы они соответственно перемещались, ListView делает это все автоматом. Есть подозрение что с юникодом какая-то проблема.

Ответить

Номер ответа: 6
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #6 Добавлено: 26.11.05 22:16
С массивом как раз меньше возни, просто взял и сделал.
А с листвью будешь долбиться, пытаясь добиться от него того, что он не может. И в конце поймёшь, что тупые янки не предусмотрели, что могут быть и другие алфавиты, кроме английского.

Ответить

Номер ответа: 7
Автор ответа:
 Pantalone



Вопросов: 32
Ответов: 104
 Профиль | | #7 Добавлено: 27.11.05 11:53
Он может, если хорошенько попросить :)

Ответить

Номер ответа: 8
Автор ответа:
 Calhoon



ICQ: 789764 

Вопросов: 90
Ответов: 230
 Web-сайт: 4elovekssn.blog.ru
 Профиль | | #8
Добавлено: 27.11.05 20:41
Короче, 3 путь решения проблемы:
1. Мучаешься, спрашиваешь, ждешь, и, может быть, получишь то, что хотел.
2. Для сортировки загоняешь все данные в массив, сортируешь, выводишь обратно.
3. Используешь другой контрол, например VSFlexGrid.
Удачи

Ответить

Номер ответа: 9
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #9
Добавлено: 28.11.05 11:45
А у LV sorted в true поставить не помогает?

Ответить

Номер ответа: 10
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #10
Добавлено: 28.11.05 11:50
простите, туплю

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам