Редактирование списка объектов - как лучше?
От: MozgC США http://nightcoder.livejournal.com
Дата: 17.01.10 21:12
Оценка:
Здравствуйте,
Под списком объектов я имею в виду например список клиентов компании, или список пользователей программы, или каких-то простейших вещей, которы описываются лишь парой ID-Name.
Сразу уточню, что речь идет о desktop applications.

В общем я вижу 3 основных интерфейса:

1) grid с "inplace" редактированием. Т.е. прямо в строках грида можно редактировать атрибуты сущности. Часто видел что такой тип представления называется grid view.

2) Редактирование в наборе textbox'ов, checkbox'ов и т.д. расположенных на форме + элементы навигации (например комбобокс или кнопки следующий-предыдущий). Т.е. к примеру в комбобоксе (или кнопками следующий-предыдущий) выбираем объект, и поля на форме заполняются данными, которые можно редактировать. Часто видел что такой тип представления называется form view.

3) read only grid + всплывающее диалоговое окно для редактирования объекта.

Какие факторы могут влиять на выбор интерфейса?:
1) субъективные предпочтения пользователей
2) возможно стоит иметь единый интерфейс по всему приложению
3) а возможно стоит делать в зависимости от ситуации — например если у сущности много атрибутов, то думаю лучше использовать вариант 2 или 3, а если немного — то можно вариант 1.

Выделяю вопрос:
Как выбрать тип интерфейса? Есть ли устоявшиеся рекомендации?

Следующий вопрос — непосредственно по поводу стандартных команд типа add/remove/save/и др. Как лучше инициировать выполнение этих команд? Обычными кнопками или маленькими toolbar buttons, или еще как?

При выборе интерфейса так же хотелось бы не забывать о сложности реализации/сопровождения. Например если один типа интерфейса реализовать и поддерживать намного геморойнее чем другой, то на мой взгляд надо подумать, а так уж ли нужно реализовать именно такой интерфейс (если что то я пишу на .NET/WinForms).

В общем привествуются ваши мнения, ваш опыт, ссылки на литературу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.