Re: Загрузка/обновление длинного списка
От: eXod Россия  
Дата: 19.02.08 15:05
Оценка:
Я бы выбрал вариант 2, но обязательно на видном месте поместил бы надпись, что обновление списка в процессе. А при попытке выполнить выделить всё, писал бы (но не диалоговым модальным окном) Операция недоступна, пока идёт обновление списка. т.о. пользователь будет понимать что происходит в систтеме и даже если это для него необычно, то не вызовет проблем.

А>Имеется GUI-приложение, в котором пользователь может работать со списком некоторых объектов (неважно каких именно).

А>С ними пользователь может делать некоторые действия, причем как с одиночным объектом, так и с группой объектов.
А>Список объектов получается из некоторого источника данных и может обновляться по команде пользователя.
А>Проблема в том, что список может быть очень большим и его обновление может занимать долгое время.
А>Как, по-вашему, это приложение должно вести себя при обновлении списка, чтобы пользователю было удобно работать?

А>Вариант 1.

А> При обновлении списка показываем песочные часы, окно с прогрессбаром и т.п. — в общем, ждем-с, при этом операции с объектами
А>списка заблокированы.
А> Чем плохо — пока список обновляется, пользователь ничего полезного сделать не может

А>Вариант 2.

А> Обновляем список по частям: подгрузили очередной кусок — добавили в список — отрисовали, и т.д., при этом пользователь может выполнять
А>операции с объектами из уже подгруженной части списка
А> Чем плохо — если пользователь, например, нажмет Ctrl+A, непонятно как быть:
А> 2а) Выделить уже подгруженную часть списка — плохо тем, что пользователь, будучи уверенным, что выделил все, выполнит
А>какую-нибудь групповую опреацию и получит совсем не то что хотел
А> 2б) Ожидать полной загрузки списка — а если пользователь задолбается ждать и захочет отменить "выделить все" — что тогда?

А>Вариант 3.

А> То же, что и в.2, но до полного обновления списка разрешаем пользователю только операции с одиночными объектами, а групповые операции блокируем
А> Чем плохо — непривычно для неподготовленного пользователя: почему одни операции работают, а другие нет?

А>Может быть, есть еще какие-нибудь разумные варианты?


А>P.S. Возможность делать групповые операции с полным списком объектов или с большим его подмножеством — принципиальна, так

А>что вариант "Отказаться от Ctrl+A" не годится
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.