|
Listview-Report + checkboxes -глюки при выделении нескольких записей.
|
|||
---|---|---|---|
#18+
ListView (.NET) Таблица, много записей, итемы имеют свойство checkbox. Например есть несколько записей подряд с checked=true Начинаем например тянуть мышку от нижней к верхней, при нажатой LeftButton с целью их всех выделить. при отпускании мыши (на верхней выделенной записи), галки со всех записей кроме нижней снимаются . Еще: двойной щелчок по итему (не в той колонке где чекбокс) приводит к изменению его состояния true/false Поведение логически неправильное и нестандартное. В VB6 с 6-ми контролами не помню, но с 5-ми, где использую API-чекбоксы такой фигни нет. Есть идеи как лечить? М.б. свойства ListView какие? Хитрых кодов обработки особо не добавлял, даже пробовал закомментировать ListView1_ItemChecked, готов если что сделать чистый проект. Но ощущение что фигня идет в "базовом .NET-Listview комплекте". ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 03:51 |
|
Listview-Report + checkboxes -глюки при выделении нескольких записей.
|
|||
---|---|---|---|
#18+
На тестовом мини-проекте глюки подтверждаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 04:17 |
|
Listview-Report + checkboxes -глюки при выделении нескольких записей.
|
|||
---|---|---|---|
#18+
listview with checkboxes!Urgent VBDotNet Team (MS) 11 лет назадWe were able to reproduce the behavior you are seeing. It helped to know that you had multiple columns. There is nothing wrong with your code. We tried a few work-arounds in the SelectedIndexChanged event handler, but none would give you the behavior you desire. We suggest that you set FullRowSelect to False. It is not the best solution, but it should prevent the unexpected check and uncheck behavior. Thanks for bringing this issue to our attention. We will report the behavior to our development team Т.е. они подтверждают баг и за 11 лет не исправили его? ПИЗ..Ц! Сортировка отдыхает. Там же ниже "Workaround" (текущего года выпуска, лучший из того что нашел): Код: vbnet 1. 2. 3. 4.
Но это тоже неправильное поведение, чекбоксы должны нажиматься и при выделенных записях. И потом, это не спасает от DoubleClick, по двойному щелчку редактирование записи. Предлагаемый отказ от FullRowSelect -бред, а если я хочу выделить много записей и их удалить? Ловить mouseup и пытаться что-то сделать - метод "детского сада". Единственный "взрослый" вариант - попробовать делать/работать с чекбоксами через API, LVS_EX_CHECKBOXES, LVM_SETITEMSTATE, LVM_GETITEMSTATE, WM_NOTIFY+LVN_ITEMCHANGED но может не пройти, если сильно изгадили, боюсь глюки будут также срабатывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 05:31 |
|
Listview-Report + checkboxes -глюки при выделении нескольких записей.
|
|||
---|---|---|---|
#18+
Дмитрий77Единственный "взрослый" вариант - попробовать делать/работать с чекбоксами через API, LVS_EX_CHECKBOXES, LVM_SETITEMSTATE, LVM_GETITEMSTATE, WM_NOTIFY+LVN_ITEMCHANGED но может не пройти, если сильно изгадили, боюсь глюки будут также срабатывать. Вылечил. Достаточно отключить .Net-приблуду, т.е. сделать Код: vbnet 1.
а вместо этого поставить оригинальный стиль LVS_EX_CHECKBOXES Имеем: 1) Свойство .checked -работает, события типа ItemChecked - работают (комфорт и .NET функционал сохранили) Код: vbnet 1. 2. 3. 4.
2) Глюков с checked/unchecked НЕТУ Горе-девелоперы контрола ошиблись/начудили при установке стиля контрола. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 07:04 |
|
|
start [/forum/topic.php?fid=20&fpage=144&tid=1403890]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 326ms |
total: | 455ms |
0 / 0 |