Компонент ввода диапазона дат (постановка)

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
Строка 3: Строка 3:
 
http://gsbelarus.com/gs/images/gs/2008/periodedit_1.png
 
http://gsbelarus.com/gs/images/gs/2008/periodedit_1.png
  
Компонент должен представлять собой поле ввода [[TEdit]] справа от которого расположены три кнопки-пиктограмки для вызова выпадающих окон.  
+
Компонент должен представлять собой поле ввода [[TEdit]] справа от которого расположена кнопка для вызова выпадающего окна.  
  
 
==== Ввод периода с помощью мыши ====
 
==== Ввод периода с помощью мыши ====
  
Диапазон дат можно указать мышью в выпадающих окнах следующими способами:
+
Диапазон дат можно указать мышью в выпадающем окне следующими способами:
  
 
http://gsbelarus.com/gs/images/gs/2008/periodedit_2.png
 
http://gsbelarus.com/gs/images/gs/2008/periodedit_2.png
  
В окне выбора двух дат располагаются горизонтально два календаря. Календарь слева показывает начальную дату, справа -- конечную. Пользователь выбирает день сначала на одном календаре, затем на другом. Сразу после указания второго дня окно закрывается, а введенный период переносится в поле ввода. Если в поле ввода указан некоторый период, то при открытии выпадающего окна дни начала и окончания периода устанавливаются на соответствующих календарях.
+
Выпадающее окно разделено по вертикали на две части. В левой находится список выбора режима указания периода. В зависимости от режима справа располагается:
  
В выпадающем окне стандартных периодов располагаются: список лет (вертикально); список месяцев (вертикально); список кварталов; список недель (матрица). Пользователь может кликнуть мышью по любому элементу, при этом соответствующий период (год, месяц, квартал, неделя) подставится в поле ввода. После выбора -- окно закрывается.
+
* '''Год.''' Календарь для выбора года.
 +
* '''Квартал.''' Календарь для выбора года и квартала.
 +
* '''Месяц.''' Календарь для выбора года и месяца.
 +
* '''Неделя.''' Календарь для выбора года, месяца и недели.
 +
* '''День.''' Календарь для выбора года. месяца, дня.
 +
* '''Произвольный.''' Два календаря для выбора первого и последнего дня периода.
 +
* '''Шорт-кат.''' Список доступных шорт-катов.
 +
* '''История.''' Несколько последних периодов, выбранных пользователем.
  
Третье выпадающее окно вертикально разделено на две части. В левой находится история периодов, которые выбирал пользователь. В правой части список шорткатов с подсказкой по каждому. Щелчек мышью по шорткату приводит к его срабатыванию.
+
После выбора периода окно закрывается. Выпадающее окно можно закрыть без выбора периода клавишей Esc, либо кликнув мышью за его пределами.
 
+
Любое выпадающее окно можно закрыть без выбора периода клавишей Esc, либо кликнув мышью за его пределами.
+
  
 
==== Ввод периода с помощью клавиатуры ====
 
==== Ввод периода с помощью клавиатуры ====

Версия 11:22, 13 августа 2010

В большинстве случаев при построении отчета или фильтрации массива документов пользователь указывает период дат. Сейчас в Гедымине применяются два компонента ввода даты для указания начального и конечного дня периода. Предлагается реализовать простой и удобный визуальный компонент для ввода периода дат как набором с клавиатуры, так и путем выбора мышью. Минимальный период -- один день. Ввод даты окончания периода меньшей даты начала не допускается.

periodedit_1.png

Компонент должен представлять собой поле ввода TEdit справа от которого расположена кнопка для вызова выпадающего окна.

Ввод периода с помощью мыши

Диапазон дат можно указать мышью в выпадающем окне следующими способами:

periodedit_2.png

Выпадающее окно разделено по вертикали на две части. В левой находится список выбора режима указания периода. В зависимости от режима справа располагается:

  • Год. Календарь для выбора года.
  • Квартал. Календарь для выбора года и квартала.
  • Месяц. Календарь для выбора года и месяца.
  • Неделя. Календарь для выбора года, месяца и недели.
  • День. Календарь для выбора года. месяца, дня.
  • Произвольный. Два календаря для выбора первого и последнего дня периода.
  • Шорт-кат. Список доступных шорт-катов.
  • История. Несколько последних периодов, выбранных пользователем.

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

Ввод периода с помощью клавиатуры

В поле ввода пользователю предоставляется несколько вариантов ввода временного отрезка:

periodedit_3.png

Самый очевидный вариант -- ввод двух дат. Например, 01.01.2009-31.12.2009. Полный формат даты -- когда указан день, месяц и год. Сокращенный -- если хотя бы один из компонентов пропущен.

periodedit_4.png


Сокращенная дата Единственная дата Первый параметр Второй параметр
Год 1 января указанного года - 31 декабря указанного года 1 января указанного года 31 декабря указанного года
Месяц 1-е число указанного месяца текущего года - Последнее число указанного месяца текущего года 1-е число указанного месяца текущего года Последнее число указанного месяца текущего года
День День текущего месяца текущего года День текущего месяца текущего года День текущего месяца текущего года
Год и месяц 1-е число указанного месяца указанного года - Последнее число указанного месяца указанного года 1-е число указанного месяца указанного года Последнее число указанного месяца указанного года
День и месяц День указанного месяца текущего года День указанного месяца текущего года День указанного месяца текущего года
День недели День, соответствующий указанному дню текущей недели Указанный день текущей недели Указанный день текущей недели
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты