ListView не может установить флажок - PullRequest
0 голосов
/ 30 июня 2009

Это странная проблема, я не добавил много кода, так как не знаю, с чего начать. У меня есть элемент управления просмотром списка в виртуальном режиме, если я отфильтрую список просмотра, чтобы показать мне всех людей по имени Джон, я тогда увижу 3 пользователей по имени Джон, затем я отменю фильтр, установив все значения на ноль, и верну все данные в просмотр списка, я сейчас У меня есть несколько сотен элементов в списке, но я могу видеть только 30 на экране, если не прокручиваю вниз список.

Затем я использую приведенный ниже код для проверки флажка в каждой строке, все отмечаются отдельно от 3-х Джонов, но если я вижу 1 из 3-х Джонов в списке без прокрутки, а затем запускаю код под видимым Джоном, проверяется ,

 for (int i = 0; i < this._items.Count; i++)
            {

                    this._items[i].Checked = true;
            }

Я проверил состояние флажка непосредственно перед тем, как он был проверен в приведенном выше коде, и если Джон виден, тогда флажок считает, что он не проверен (ложь), если он не виден, он считает, что он отмечен (верно). Таким образом, наличие одного видимого Джона на экране, флажок выглядит непроверенным, и запуск теста доказывает, что он не проверен, поскольку два Джона, которых я не вижу, считают, что они проверены, но если я прокручиваю вниз, чтобы увидеть их, это не так.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 14 июля 2009

Готовые .NET ListViews (WinForms) в виртуальном режиме не поддерживают флажки. Они работают ненадежно и вызывают странные ошибки. Я никогда не видел ту, которую вы описываете, но меня это не удивляет.

Ваше решение:

  1. использовать не виртуальный ListView
  2. использовать ObjectListView , который поддерживает флажки в виртуальных списках
0 голосов
/ 21 августа 2009

У меня точно такая же проблема, и я не в виртуальном режиме. Я запустил программу в режиме отладки и, хотя инструкция:

listView1.Items [count] .Checked = true;

выполнено ('count' является функциональным счетчиком), флажки в моем списке не будут отмечены. Иногда один или два из них будут без видимой причины, хотя строка читается для всех флажков, которые нужно проверить ...

Я бы очень заинтересовался любой подсветкой!

Спасибо, Christophe

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...