Задача:
в редактируемом Grid-е выбирать значение столбца из внешнего справочника,
открывающегося в отдельном окне.
Можно сделать так:
при щелчке на кнопке с тремя звездочками открывается окно выбора из справочника.
Недостатки:
— для выбора элемента из справочника надо три раза щекнуть мышью по полю этого столбца
(1- выделяем столбец, 2- переводим в режим редактирования, 3- щеклаем на кнопку с многоточием)
— малый размер кнопки, пользователю тяжело по ней попасть.
Лучше сделать так, чтобы справочник вызывался сразу при одиночном щелчке по полю этого столбца.
Но тогда нужно сделать, чтобы он визуально отличался от обычных столбцов, потому что у них разное поведение.
Кроме того желательно, чтобы пользователь по внешнему виду сразу догадался о его поведении при щелчке мышью.
Мне в голову пришла идея рисовать в каждой ячейке "кнопку":
Просьба оценить это решение и предложить лучшее, удовлетворяющее требованиям.
Есть ли возможность вставлять в ячейки такого вида
значения отличные от тех, что во внешнем справочнике?
Если нет, то Ваш вариант с кнопкой очень даже неплох.
Здравствуйте, wildwind, Вы писали:
W>
W>Активизируется одним кликом. Обрати внимание на толщину кнопок.
А попасть по кнопке так же тяжело, если не еще тяжелее из-за уменьшеннго размера.
Мои пользователи тетеньки, которые в Quake не играют и комп видят во второй раз в жизни)
Здравствуйте, wildwind, Вы писали:
W>Кнопки во всю ячейку это слишком. А вот так, например:
W>
W>Активизируется одним кликом. Обрати внимание на толщину кнопок. (C) Allround Automations.
Понимаю выгоду неполной высоты кнопок и выделение при перемещении курсора над ними -- сложнее попасть не по той строчке. В моем варианте с кнопками на всю строку по горизонтали промахнутся тяжело, а вот по вертикали проще, чем в исходном. Все равно в твоем варианте слишком узкие кнопки. Может сделать кнопки на всю ширину, но не на полную высоту и выделять при перемещении курсора, как у тебя?
Тогда бы я остановился на обычных кнопках на всю ячейку,
как Вы и предлагали:
но с некоторыми улучшениями вроде всплывающей подсказки
"Нажмите, чтобы изменить значение",
и, т.к. у Вас вызывается дополнительный диалог, стоит как-то
сказать об этом, например, поместив иконку, либо добавив
троеточие по-старинке.
Если нет возможности редактировать, то зачем же вводить пользователей
в заблуждение? С кнпоками получается WYSIWYN (видишь то, что Нужно).
Конечно, прийдется лишиться возможности ввода с автозавершением, но,
если Ваш контигент не любит печатать, то многого Вы не потеряете.
С другой стороны, можно включить возможность набора с автозавершением,
но работать она будет только если кнопка получила фокус с клавиатуры
(а не кликом мышки), хотя это будет и неочевидное, нестандартное поведение,
но может окупиться .
Здравствуйте, Eugene10000, Вы писали:
E>Здравствуйте,
E>Задача: E>в редактируемом Grid-е выбирать значение столбца из внешнего справочника, E>открывающегося в отдельном окне.
E>Можно сделать так: E> E>при щелчке на кнопке с тремя звездочками открывается окно выбора из справочника.
E>Недостатки: E>- для выбора элемента из справочника надо три раза щекнуть мышью по полю этого столбца E>(1- выделяем столбец, 2- переводим в режим редактирования, 3- щеклаем на кнопку с многоточием) E>- малый размер кнопки, пользователю тяжело по ней попасть.
E>Лучше сделать так, чтобы справочник вызывался сразу при одиночном щелчке по полю этого столбца. E>Но тогда нужно сделать, чтобы он визуально отличался от обычных столбцов, потому что у них разное поведение. E>Кроме того желательно, чтобы пользователь по внешнему виду сразу догадался о его поведении при щелчке мышью.
E>Мне в голову пришла идея рисовать в каждой ячейке "кнопку":
E>
Может проблема решается гораздо проще. Увеличиваем размер шрифтов, увеличивается размер ячеек и не возникает проблем с попаданием по кнопке. Можно так же саму кнопку увеличить не на всю ячейку, а в ширину в два раза. Но Мне кажется, что у людей привыкших пользоваться обычной таблицей возникнут проблемы с тем что вы предлагаете. Поэтому ИМХО желательно реализовать две возможности. E>Просьба оценить это решение и предложить лучшее, удовлетворяющее требованиям.
E>-- E>С уважением, Евгений.
Здравствуйте, Eugene10000, Вы писали:
E>Здравствуйте,
E>Задача: E>в редактируемом Grid-е выбирать значение столбца из внешнего справочника, E>открывающегося в отдельном окне.
Нужно сделать так:
1. Диалог появляется при щелчке по любой точке ячейки.
2. Справа в ячейке нарисован треугольник вниз — стандартная идиома выбора из списка. Троеточие — это вызов действия, сопровождающегося диалогом
3. При hover на ячейке кнопка активируется, показывая что уже можно нажимать. Рекомендуется также сменить курсор на что-то альтернативное стрелочке.
4. При вызове диалога кнопка остается нажатой, чтобы можно было отвернуться и потом с первого взгляда понять, откуда выпал комбо-диалог.
Визуальный фидбек в пункте три можно распространить на всю ячейку, если будет понятно, как это сделать.
В принципе, все эти рекомендации уже воплощены в твоей идее с кнопками. Единственное, что мне не очень нравится, так это то, что этих кнопок очень много и они визуально такие же, как и кнопки управления всем диалогом (если конечно они там есть).
Лучше сделай их, как комбобокс в Office 2003. Только курсора-волоска при наведении на текст не делай: он подсказывает, что можно выполнять текстовое выделение, а у тебя будет не так.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Когда копка на весь грид — это по меньшей мере не красиво. Столбец будет выделяться, а в таблице имеет смысл выделять ключевые и/или не изменяемые поля.
Хороший вариант, когда кнопка горит постоянно. Кроме того хот кей обязательно, по умолчантю он Alt+Стрелка вниз.
А вообще тетиньки пользуются клавиатурой — у нас точно. И проблемы такой не возникает, так как мышку они в руки берут только что бы нажать кнопку "пуск".
Здравствуйте, Eugene10000, Вы писали:
E>А попасть по кнопке так же тяжело, если не еще тяжелее из-за уменьшеннго размера.
Ну увеличь размер, что мешает?
E>Мои пользователи тетеньки, которые в Quake не играют и комп видят во второй раз в жизни)
Если это бухи, то на клаву их, полностью!
E>Недостатки: E>- для выбора элемента из справочника надо три раза щекнуть мышью по полю этого столбца E>(1- выделяем столбец, 2- переводим в режим редактирования, 3- щеклаем на кнопку с многоточием) E>- малый размер кнопки, пользователю тяжело по ней попасть.
Ну, значит для начала надо исключить шаг 3, потом — добавить горячие кнопки — Enter и что-то, что у вас обычно редактирование обозначает — F2 или там F4...
E>Мне в голову пришла идея рисовать в каждой ячейке "кнопку":
Этим ты исключаешь возможность использования редактора в ячейке, который мог бы быть очень удобен, если бы позволял искать значения по первым буквам, с выпадающим списком...
Новый вариант с учетом замечаний и предложений.
Чтобы убрать визуальный шум, в нетекущих ячейках "кнопки" не рисуются.
Две "кнопки":
— "бегающая" за курсором мыши (под указателем мыши)
— выделяющая текущую ячейку (с пунктирной линией по периметру, как у стандартной кнопки Windows, если она имеет фокус ввода), для ввода с клавиатуры, если пользователь нажмет горячую клавишу, будет вызван выбор из справочника именно для этой ячейки.
Недостаток этого метода — пользователь видит два "курсора" одновременно, что может его запутать
Другой вариант: показывать кнопку только под указателем мыши, а выделение ячейки рисовать стандартным способом.
По горячей клавише все равно будет открываться справочник для текущей ячейки (выделенной синим цветом на рисунке).
Здравствуйте, Igor Trofimov, Вы писали:
iT>Ну, значит для начала надо исключить шаг 3, потом — добавить горячие кнопки — Enter и что-то, что у вас обычно редактирование обозначает — F2 или там F4...
Да. Вопрос в том, как это лучше показать "визуально". И мышь исключать нельзя. Один щелчок мышью против перемещения стрелками клавиатуры и нажатия на Enter. К тому же я заметил нежелание многих из пользователей использовать клавиатуру для перемещения. Для этих целей им "интуитивно" понятнее мышь.
E>>Мне в голову пришла идея рисовать в каждой ячейке "кнопку": iT>Этим ты исключаешь возможность использования редактора в ячейке, который мог бы быть очень удобен, если бы позволял искать значения по первым буквам, с выпадающим списком...
Сложный вопрос, запутает ли это моих пользователей или все таки облегчит работу.
Еще это может конфликтовать с поиском по первым буквам в самой этой сетке.
Здравствуйте, Eugene10000, Вы писали:
E>Две "кнопки": E>- "бегающая" за курсором мыши (под указателем мыши) E>- выделяющая текущую ячейку (с пунктирной линией по периметру, как у стандартной кнопки Windows, если она имеет фокус ввода), для ввода с клавиатуры, если пользователь нажмет горячую клавишу, будет вызван выбор из справочника именно для этой ячейки.
Очень плохое предложение. Пользователи по началу будут очень возмущаться. Потому что с их точки зрения происходит крайне не логичное событие. Я нажимаю на кнопку, а нажимается другая кнопка. ИМХО первый вариант явно лучше. Я думаю, что есть следует учесть следующие рекомендации
1. Установите хот-кеи
2. Добавьте возможность выбора из комбо-бокса, если возможных значений мало, если возможных значений много, то надо добавить и выбор из диалога, поскольку с комбо-боксами содержащими много значений очень тяжело работать.
3. Если сложность в попадании по кнопке мышью увеличьте кнопку (кнопки) в ширину, но не на всю ячейку.
4. Увеличте размер шрифтов, все равно тетеньки скорее всего это сделают, поскольку берегут свое зрение.
Здравствуйте, SteMage, Вы писали:
SM>Очень плохое предложение. Пользователи по началу будут очень возмущаться. Потому что с их точки зрения происходит крайне не логичное событие. Я нажимаю на кнопку, а нажимается другая кнопка. ИМХО первый вариант явно лучше. Я думаю, что есть следует учесть следующие рекомендации
???
Не понял. Нажимаю на кнопку под мышью мышкой она и нажимается. Та которую нажимаю, та и нажимается.
Нажимаю хоткей с клавиатуры, вызывается для веделенной ячейки. Где тут нажатие не ТОЙ кнопки?
Здравствуйте, Eugene10000, Вы писали:
E>Здравствуйте, SteMage, Вы писали:
SM>>Очень плохое предложение. Пользователи по началу будут очень возмущаться. Потому что с их точки зрения происходит крайне не логичное событие. Я нажимаю на кнопку, а нажимается другая кнопка. ИМХО первый вариант явно лучше. Я думаю, что есть следует учесть следующие рекомендации
E>??? E>Не понял. Нажимаю на кнопку под мышью мышкой она и нажимается. Та которую нажимаю, та и нажимается. E>Нажимаю хоткей с клавиатуры, вызывается для веделенной ячейки. Где тут нажатие не ТОЙ кнопки?
E>Две "кнопки": E>— "бегающая" за курсором мыши (под указателем мыши) E>— выделяющая текущую ячейку (с пунктирной линией по периметру, как у стандартной кнопки Windows, если она имеет фокус ввода), для ввода с E>клавиатуры, если пользователь нажмет горячую клавишу, будет вызван выбор из справочника именно для этой ячейки.
Из вашего текста у меня сложилось другое впечатление. Так наверно лучше. Может быть и подойдет такой вариант. Замечу две вещи :
1. Вы сами правильно заметили, что это вызовет затруднения в понимании.
2. Существует вероятность случайно тыкнуть при потыке изменения активной записи. То есть выбор мышью это как правило, изменение активной записи. То есть фактически вы перекрываете другое стандартное действие. У людей, которые им пользуются это может вызвать серьезные проблемы.
Так что лично мне такое решение, не очень нравится, но это только ИМХО.
Здравствуйте, SteMage, Вы писали:
SM>Из вашего текста у меня сложилось другое впечатление.
Понятно.
SM>2. Существует вероятность случайно тыкнуть при потыке изменения активной записи. То есть выбор мышью это как правило, изменение активной записи. То есть фактически вы перекрываете другое стандартное действие. У людей, которые им пользуются это может вызвать серьезные проблемы.
Это верно(((((((((((((((( я сам об этом уже весь день думаю
Видимо, придется делать кнопки сбоку с треугольниками.
Здравствуйте, Eugene10000, Вы писали:
E>Здравствуйте, Igor Trofimov, Вы писали:
iT>>Ну, значит для начала надо исключить шаг 3, потом — добавить горячие кнопки — Enter и что-то, что у вас обычно редактирование обозначает — F2 или там F4...
E>Да. Вопрос в том, как это лучше показать "визуально". И мышь исключать нельзя. Один щелчок мышью против перемещения стрелками клавиатуры и нажатия на Enter. К тому же я заметил нежелание многих из пользователей использовать клавиатуру для перемещения. Для этих целей им "интуитивно" понятнее мышь.
Один щелчок мышью — это брехня. В реальности это:
убрать руку с клавы
положить ее на мышку
навести мышку на ячейку.
если ячейка уже мне видна то я с клавы делаю такие операции в 99% случаев потому что: быстрее, меньше телодвижений. Также работают все мне известные операторы ПК (я автоматизацией на 1С занимаюсь) при грамотной настройке шоткатов и порядке обхода.
Нежалание пользователей лечится с помощью шефа (это если юзвери тупые и упертые) или они сами понимают, что работы у нихз валом, и если сделают ее быстрее то могут погонять чаи лишний раз (но опять нуже сильный шеф, чтобы все не перерасло в нытье, что мол работы валом).
E>>>Мне в голову пришла идея рисовать в каждой ячейке "кнопку": iT>>Этим ты исключаешь возможность использования редактора в ячейке, который мог бы быть очень удобен, если бы позволял искать значения по первым буквам, с выпадающим списком...
E>Сложный вопрос, запутает ли это моих пользователей или все таки облегчит работу. E>Еще это может конфликтовать с поиском по первым буквам в самой этой сетке.
Взгляни на 1С 8.0. Там реализовали очень удобную фичу. Вот попатл тв каким то боком в ячеку со справочником. Теперь ты можешь нажать кнопку редаткирования (F4 или мышей), откроется диалог/комбобокс (от настрроек зависит), затем ты выберешь значение и все. начинаешь набирать в поле первые букву и жмешь Enter, вываливается коротенький список из Н позиций и ты быстро от туда выбираешь.
Здравствуйте, wraithik, Вы писали:
W>Здравствуйте, Eugene10000, Вы писали:
W>Лучше научить пользователей пользоваться клавиатурой. В результате они начнут работаь гораздо быстрее. Поверь на слово.
Если оставить без изменений, то с клавиатурой тоже много телодвижений надо совершить.
Перемещение на ячейку
Enter
Alt+Стрелка Вниз
(выбор из справочника)
Enter
Это сложнее объяснить по телефону, чем сказать "кликните мышкой на ячейке с названием страны".
Ячейку им проще выделить мышкой. А потом переключатся на клавиатуру потяря времени.
Насчет учить -- надо, чтобы необходимость в этом была минимальна. У меня не такая ситуация, как у тебя.
Они сидят в удаленных точках и по нежеланию работать и учится поставили рекорд из всех, с кем я встречался.
Здравствуйте, wraithik, Вы писали:
W>Один щелчок мышью — это брехня.
Хамить не надо.
> В реальности это: W>убрать руку с клавы
это если рука была на клавиатуре. а она была на мышке или вообще ни там, ни там.
W>положить ее на мышку W>навести мышку на ячейку.
нажатие клавиши:
— поднять палец, найти на клавиатуре нужную клавишу (поиск может занять 10 минут), навести его на клавишу, опустить палец, поднять палец
W>если ячейка уже мне видна то я с клавы делаю такие операции в 99% случаев потому что: быстрее, меньше телодвижений.
не суди по себе, пользователи от тебя отличаются
W>Нежалание пользователей лечится с помощью шефа..
Давай не будет тут обсуждать этот философский вопрос?
Вопрос был идет о том, как упростить интерфейс, уменьшить количество действий при "интуитивной" понятности того, как происходит взаимодействие с программой.
E>>Еще это может конфликтовать с поиском по первым буквам в самой этой сетке. W>Взгляни на 1С 8.0.
У меня нет 1С 8. Как там ячейка со справочником визуально отличается от обычных ячеек?
Ты ничего не сказал о конфиликте с поиском по первым буквам.
Здравствуйте, Mamut, Вы писали:
M>Никаких альтов. F4 + модальный диалог на выбор значения
F4 занято под открытие объекта на редактирование из списка объектов (документы, справочники)
согласись открытие на редактирование и ВЫБОР — разные операции
до клавиш F еще и тянутся далеко
а действия: печать какой нибудь формы тоже все на горячих клавишах? клавиш не хватит
M>>Никаких альтов. F4 + модальный диалог на выбор значения
E>F4 занято под открытие объекта на редактирование из списка объектов (документы, справочники) E>согласись открытие на редактирование и ВЫБОР — разные операции
Их можно творчески объединить
E>до клавиш F еще и тянутся далеко
Не дальше, чем до мышки, и не дальше, чем до комбинации Alt+стрелка.
E>а действия: печать какой нибудь формы тоже все на горячих клавишах? клавиш не хватит
Хватит, хватит Вообще в этом вопросе я бы ориентировался на ДОСовские приложения. Вот тогда люди умели все на клаву завязать ("не то, что нынешнее племя" (с) ).
E>Да. Вопрос в том, как это лучше показать "визуально".
Горячие клавиши визуально показывть не надо. А при установке фокуса в ячейку показывать кнопку. Много кнопок показывать — некрасиво, перегруз.
E>>>Мне в голову пришла идея рисовать в каждой ячейке "кнопку": iT>>Этим ты исключаешь возможность использования редактора в ячейке, который мог бы быть очень удобен, если бы позволял искать значения по первым буквам, с выпадающим списком...
E>Сложный вопрос, запутает ли это моих пользователей или все таки облегчит работу.
Пользователи бывают разные. Настройки.
E>Еще это может конфликтовать с поиском по первым буквам в самой этой сетке.
По моему опыту, хорошо, когда сетка имеет явно различающиеся состояния — "редактирование конкретной ячейки" и "browsing". Соответственно, меняется поведение при нажатии кнопочек... Инкрементный поиск по сетке или по справочнику.
я сам это хамством не посчтил. вот назвать это резкой формой согласен.
а вообще прошу прощения если что нета, хамить нет ни какго желания, хотел как лучше.
Здравствуйте, Eugene10000, Вы писали:
E>это если рука была на клавиатуре. а она была на мышке или вообще ни там, ни там.
Приучай к клаве. Поверь что это лучше мышки.
W>>положить ее на мышку W>>навести мышку на ячейку.
E>нажатие клавиши: E> — поднять палец, найти на клавиатуре нужную клавишу (поиск может занять 10 минут), навести его на клавишу, опустить палец, поднять палец
Таких оператор гнать либо дать поюзать Соло (сам слепым не печтаю, а символов 120 в минуту только так )
W>>если ячейка уже мне видна то я с клавы делаю такие операции в 99% случаев потому что: быстрее, меньше телодвижений.
E>не суди по себе, пользователи от тебя отличаются
Я себя в пример привел. Так работает еще очень много из моих знакомых операторов. Сам людей отучал от мыши. Для ввода инфы мыша не есть гуд.
W>>Нежалание пользователей лечится с помощью шефа..
E>Давай не будет тут обсуждать этот философский вопрос? E>Вопрос был идет о том, как упростить интерфейс, уменьшить количество действий при "интуитивной" понятности того, как происходит взаимодействие с программой.
Согласен.
E>>>Еще это может конфликтовать с поиском по первым буквам в самой этой сетке. W>>Взгляни на 1С 8.0.
E>У меня нет 1С 8. Как там ячейка со справочником визуально отличается от обычных ячеек?
E>Ты ничего не сказал о конфиликте с поиском по первым буквам.
Есть строка. В ней куча ячеек. Они ничем не отличаются друг от друга. Ты можешь стоять на любой ячейке (это можно запретить, например RowSelect). Вообщем стоишь ты на ячейке и жмешь:
а) букву — активируется локаторный поиск (по первым буквам)
б) Enter/F2 — ты начинашь видеть кнопки
в) дабл-клик — смотрим пункт Б
г) нажал F4 — вызвал обработчика выбора (ну дело тове что там будет: комбобокс, диалог или еще что-то).
после пуктов Б или В появляются все кнопки строки.
д) аналог пункта Г — это клик по кнопке "...".
Вообщем у таблицы есть состояние просмотра, а есть состояние редаткирования. Переход происходит в состояние редактирования по Enter/F2/дабл_клику. Обратно по Enter/Shift+F2 или клик мышкой мимо текущей строки.
По опыту могу сказать что фича достаточно удобная, никто из операторов не матюкался и ничего другого не предлалагал.
ЗЫ. Не изобратай велосипед, лучше все делать на подобие екселя, это облегчит пользователям жизнь.