2008-10-08 2 views
2

Я ищу общий дизайн/рабочий процесс пользовательского интерфейса для изменения одного и того же свойства на нескольких объектах.UI Design/Workflow: изменение такого же свойства на нескольких объектах

Предположим, у меня есть класс объекта Person. Класс Person имеет свойство City. Я хочу выбрать 5 объектов Person и изменить свойство City на всех 5 в «Нью-Йорк» в одном действии в пользовательском интерфейсе.

Это не сложно выполнить программно, но у меня возникло трудное время с интуитивно понятным интерфейсом пользовательского интерфейса. Одна мысль состоит в том, чтобы использовать модальный, как тот, который используется в iTunes, для изменения информации о нескольких выбранных композициях. Я хотел бы придумать еще один рабочий поток, поскольку эта идея уже получила откат на работе.

Мысли? Идеи?

Редактировать: Я ценю ответы до сих пор. Есть несколько дополнительных пунктов, которые я хотел бы назвать:

  1. Должны ли отображаться предыдущие значения города? Если да, то как? Или как экран комбинированного свойства показывает, что все значения города в настоящее время одинаковы или отличаются от цвета или другого индикатора?
  2. Как следует отображать свойства boolean (Person.IsAlive)? Используете ли вы переключатель с тремя состояниями? У нас выпадающее меню с тремя значениями? Другие идеи?

ответ

0

Один из подходов - это установка с разбивкой на панели, где все Люди были на одной стороне, и все свойства людей были на другой стороне.

Очевидно, что это плохо работает для редактирования одиноких людей.

0

Ну, вам нужно вручную выбрать весь объект, так что множественный выбор кажется естественным. После этого вы можете реализовать элемент контекстного меню (у вас уже есть контекстное меню, сделайте это подменю под названием «Редактировать») и предложите все существующие свойства в качестве элементов подменю. Что-то вроде этого:

  • Редактировать
    • Имя
    • Город
    • т.д.

При выборе пункта меню предложит пользователю ввести новое значение, и обновление все записи впоследствии.

2

Возьмите решение iTunes, вырезайте модальное окно и отобразите его в своем приложении, так как в противном случае вы могли бы отобразить вид редактирования одной записи. Имейте в виду, что iTunes имеет модальное окно для редактирования отдельных записей.

1

Я бы сделал это с довольно стандартным списком - допустим несколько вариантов - и когда вы меняете поле в любой выбранной записи (например, выпадаете) с более чем одним выбранным элементом, оно обновляет все элементы до одного и того же стоимость.

Могут быть случаи, когда вы хотите отключить это действие - так что у вас есть ссылка, чтобы указать, что все элементы будут обновляться вместе.

0

Если у вас ограниченное количество таких полей, вы можете использовать парадигму, похожую на «формат копирования и вставки» в Word или Excel. Выберите запись прототипа, щелкните правой кнопкой мыши, выберите «Копировать город ...» в меню, а затем вставьте остальные.

Но мне нравится ваша оригинальная идея лучше ...

0

я совершил нечто подобное через мастер редактирования. Я выбираю 1-10000 разных строк, а затем щелкните правой кнопкой мыши, чтобы отобразить экран мастера редактирования. Отображается первая панель с возможностью настройки до 8 различных полей. Каждое поле, которое я разрешаю изменять, будет применяться ко всем строкам. У меня есть флажки рядом с каждым полем, чтобы выбрать, какие поля нужно изменить. Затем, когда отмечено, вы увидите текстовое поле, чтобы зафиксировать новое значение рядом. Если строки имеют одинаковое значение, то они отображаются серым цветом, например, если все они одинаковы в Town Town города в сером, если один из рядов не имеет одного города, а затем выделите поле города оранжевым и отобразите оранжевое сообщение ' Предупреждение. Существуют строки, отличающиеся от первой выбранной строки. Я делаю страницу подтверждения, чтобы проверить, что пользователи хотят продолжить, а затем кнопку завершения. Затем переделайте строки после завершения.

Rows to update : 3 

    ..........Old Value... Change?....New Value 

    Field A ABC 
    Field B 123   Y   845 
    Field C BOB 

         [<Back] [Next>] [Finish] 

< == Выделите ЛППЫ в Оранже, если одна из строк не ЛППЫ в полевом С.

надежды, что помогает

Смежные вопросы