Сборщик строк / Константы в MDriven (для списков времени)

Цель состоит в том, чтобы создать средство выбора даты и времени для модели представления в MDriven.

Что касается даты, это легко сделать, установив переменную типа даты.

Когда дело доходит до аспектов времени, кажется, что это немного сложнее, так как тип времени не существует по понятным причинам.

(Да, прежде чем вы это предложите, я уже читал, как установить в MDriven указатель даты и времени? И это не помогло полностью.

Контекст:

Мы попытались обойти это, позволив пользователю записать желаемое время в столбце Int-формы и внедрив ограничения, которые не позволяют пользователям писать что-то отличное от "hhmm". Хотя это сработало, это не практично и замедляет работу пользователей.

В идеале нам хотелось бы иметь список выбора, в котором пользователь может выбирать заранее подготовленное время (например, 16:00, 16:30, 17:00 и т. Д.). Таким образом, формат выбранного времени никогда не нарушит рамки, в которых мы хотим использовать время позже, так как оно ограничено.

Вопрос:

Как это могло быть достигнуто? Конечно, есть способ создать константы (например, жестко запрограммированные, только видимые переменные), или, возможно, вы могли бы собирать экземпляры строки с определенным оператором для этого использования?

2 ответа

Это не решает проблему выбора списка, но посмотрите на пример в атрибутах Derived Settable в MDriven Wiki.

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

https://wiki.mdriven.net/index.php/Derived_settable_attributes

Я думаю, что вы хотите, чтобы набор обычных значений на выбор. Но, возможно, выбранное значение может быть изменено пользователем.

Я бы объявил класс TimeValueStore. В этом классе у меня будет атрибут только с частью времени, установленной для даты и времени, поэтому 0000-00-00 16:00. Я бы добавил интерфейс администратора, чтобы поддерживать их. (Я могу проанализировать DateTime обратно из строки с DateTime.Parse(vTimeStringValue)).

В пользовательском интерфейсе я могу иметь комбинированный список с TimeValueStore.allinstances. Когда пользователь изменяет выбранное значение в комбо, значение может быть присвоено переменной viewmodel vPickedTime.

Я также хотел бы иметь DateTimePicker, который устанавливает дату в vPickedDate.

В кнопке с именем "Применить" у меня будет следующее выражение: self.TheDateTimeFinallyChoosen:=vPickedDate.Add(vPickedTime)

Другие вопросы по тегам