Задача:
в редактируемом 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>Этим ты исключаешь возможность использования редактора в ячейке, который мог бы быть очень удобен, если бы позволял искать значения по первым буквам, с выпадающим списком...
Сложный вопрос, запутает ли это моих пользователей или все таки облегчит работу.
Еще это может конфликтовать с поиском по первым буквам в самой этой сетке.