Юзабилити грида
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 22.06.06 18:15
Оценка:
На работе сверху поступили весьма радикальные предложения по поводу модификации грида (у нас есть собственный). Одно из них — не делать транзакционного редактирования строки, т.е. лишить пользователя возможности нажатием Escape отменять изменения в строке. Идея была развита до того, чтобы в случае чекбоксов, даты, и всего прочего, кроме непосредственно текста, сделать редактирование без возможности отмены.

Мотивировалось это вот чем. Вроде как такая фича нужна. Однако, гораздо чаще Escape используют, чтобы закрыть формочку. А теперь ситуация: пользователь изменил пару полей в строке и вдруг захотел без сохранения изменений закрыть формочку. Для этого ему понадобится три раза нажать Escape.

Интересно, есть ли у кого-нибудь статистика по поводу использования Escape? Каким образом средние пользователи юзают грид? Что они чаще всего критикуют в DataGrid и DataGridView?

23.06.06 12:23: Перенесено из '.NET GUI'
Re: Юзабилити грида
От: WoldemaR Россия  
Дата: 23.06.06 10:18
Оценка:
Здравствуйте, konsoletyper, Вы писали:
[...]

Закрыть окно — Ctrl+F4

— Это стандартное и выстраданное (для студии и офисных пакетов) решение.

Лучшее, что мы можем тут сделать — это следовать протоптанным путём и не изобретать велосипеды.
Re[2]: Юзабилити грида
От: Сэма Россия  
Дата: 23.06.06 10:40
Оценка:
Здравствуйте, WoldemaR, Вы писали:

WR>Здравствуйте, konsoletyper, Вы писали:

WR>[...]

WR>Закрыть окно — Ctrl+F4


WR>- Это стандартное и выстраданное (для студии и офисных пакетов) решение.

А для диалоговых, модальных и др окон?
Митрофанов Сергей
Re[3]: Юзабилити грида
От: WoldemaR Россия  
Дата: 23.06.06 12:09
Оценка:
Здравствуйте, Сэма, Вы писали:

С>А для диалоговых, модальных и др окон?


Я уже писал, что я думаю по поводу модальных диалогов:
http://www.rsdn.ru/Forum/Message.aspx?mid=1844653
Автор: WoldemaR
Дата: 12.04.06
Re[4]: Юзабилити грида
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 23.06.06 18:24
Оценка:
Здравствуйте, WoldemaR, Вы писали:

WR>Здравствуйте, Сэма, Вы писали:


С>>А для диалоговых, модальных и др окон?


WR>Я уже писал, что я думаю по поводу модальных диалогов:

WR>http://www.rsdn.ru/Forum/Message.aspx?mid=1844653
Автор: WoldemaR
Дата: 12.04.06


Я не знаю, насколько Вы правы насчёт модальных формочек. Лично я думаю, что в том случае, где они у нас используются, удобнее именно они. Но дело даже не в этом. Вот если бы Вы пришли к нам в контору и заявили, что будете писать всё без модальных окон, начальник Вас послал бы. Во-первых, ПО у нас пишется не одним человеком; если каждый будет делать свой интерфейс в одной программе, то пользователь придёт в недоумение от неё. Во-вторых, разруливание узких мест и подводных камней при использовании немодальных формочек требует гораздо большего времение для написания GUI, а следовательно откладывает сроки сдачи на неопределённое время.

Вообще, вопрос был не про модальные формочки, а про грид. Мне хочется узнать, что именно пользователь использует в DataGrid и DataGridView, а о каких возможностях даже не подозревает, либо считает их ненужными.
Re: Юзабилити грида
От: Аноним  
Дата: 23.06.06 10:42
Оценка: +1
"Ctrl+F4"?!?!?... Ну-ну... Это одна из самых редкоиспользуемых комбинаций клавиш. Так как можно пальцы вывихнуть, прямо как "Ctrl+C/Ctrl+V".

Закрывание же по "Esc" — очень логичная вещь. Во многих профессиональных приложениях с MDI она используется. Но тут не всё так просто, как кажется.

Возможный сценарий поведения при нажатии Esc:
1. Если грид находится в режиме редактирования строки, то отменить редактирование строки целиком.
2. Если ничего не редактируется, то закрыть форму.

Если же пользователь просто закрывает форму (без Esc), то нужно спросить, хочет ли он сохранить данные. Но можно и не спрашивать, а просто отменить редактирование строки. Для этого обычно существует параметр "CancelOnEscape".

Как видно — тут не просто гридом Esc должен обрабатываться. Это скорее на уровне формы, чем грида.

Очень сильно нужно продумывать поведение формы(!) при нажатии Escape.

А статистика... Там где это реализовано — используется, где не реализовано — там не используется.

Compiling: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Compiling: Success.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[4]: Юзабилити грида
От: Аноним  
Дата: 23.06.06 20:40
Оценка:
ИМХО: Не надо на грид навешивать "фсё". Я знаю случаи, когда люди имеют очень базовый функционал и счастливы. Есть люди, которым надо "фсё". Всем не угодишь. Для этого есть разработчики конечных приложений. Нужен баланс. Кому нужен грид, имеющий "фсё", и тормозящий со страшной силой? Ну, кому-то может и нужен...

А что нужно (имхо, просто список)
1. логичная клавиатурная навигация
2. перетусовка колонок и их размеров
3. режим "read only" колонок и всего грида
4. "заморозка" колонок
5. сортировка
6. челорвеческий look-up c возможностью програмной надстройки над ним (несколько lookup-кнопок со своими событиями)

Но всё это есть (более менее) уже в DataGridView. Заметь, я не упомянул "иерархический" грид. Это я к тому, что всё еще и зависит от конкретных требований в приложению(! не к гриду).

Если же грил перенаворотить, то можно легко столкнуться лбом с чем-то. Грид — всего лишь один из элементов UI.

А "Esc"?... Да в лес его!
Три нажатия "Esc" для конечного пользователя просто психологически проще, чем что-то мудрёное.
1-е нажатие: отменить редактирование текущего поля (если имело место быть)
2-е нажатие: отмена редактирования всей строки (даже можно и без подстверждения) (если имело место)
3-е нажатие: закрытие формы

Вообще — закрытие формы по "Esc" очень удобственная вещь, т.к. у пользователей есть стойкая ассоциация этой кнопки с отменой... "фсего"

Compiling: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Compiling: Success.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Юзабилити грида
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 26.06.06 06:21
Оценка: +1
Здравствуйте, konsoletyper, Вы писали:

K>Мотивировалось это вот чем. Вроде как такая фича нужна. Однако, гораздо чаще Escape используют, чтобы закрыть формочку. А теперь ситуация: пользователь изменил пару полей в строке и вдруг захотел без сохранения изменений закрыть формочку. Для этого ему понадобится три раза нажать Escape.


Если это форма типа ОК/Отменить, то все изменения, которые сделаны на форме, должны выполняться нажатием ОК и отменяться нажатием Отмена — это логично и общепринято. Поэтому, отказ от "транзакционного редактирования" отдельной строки в данном случае оправдан, т.к. транзакцию здесь задает диалог в целом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.