как найти элемент управления ASP.NET Timetable? - PullRequest
1 голос
/ 14 февраля 2011

Я разрабатываю веб-приложение, которое показывает стоимость энергии на основе тарифов на электроэнергию.

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

Мне нужно что-то гибкое, но только на неделю.Мне не нужен календарь или планировщик.Я не нашел ни одного простого, гибкого элемента управления, интегрируемого с .NET.

Где я могу найти такой элемент управления?

Ответы [ 2 ]

1 голос
/ 14 февраля 2011

Должен ли он быть элементом управления ASP.NET?Возможно, подходящим вариантом будет клиентский элемент управления jQuery, заполненный через фид JSON?Я могу порекомендовать jQuery Week Calendar .

0 голосов
/ 14 февраля 2011

Я думаю, что вы можете довольно гибко определить его с помощью следующей структуры таблицы:

CREATE TABLE [dbo].[TarrifWindows](
    [Id] [int] NOT NULL,
    [StartTime] [datetime] NOT NULL,
    [EndTime] [datetime] NOT NULL,
    [StartDay] [int] NOT NULL,
    [EndDay] [int] NOT NULL,
    [TarriffAmount] [money] NOT NULL,
 CONSTRAINT [PK_TarrifWindows] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

Поля "День" являются порядковыми номерами дня, а не значениями даты и времени, например, 0 - воскресенье, 5 - пятница. Это должно позволить вам указать любое сумасшедшее окно, которое вы хотите, будь то понедельник - пятница или 2:37 - 2:38 во вторник утром. Чтобы определить, в каком окне вы находитесь, вы просто берете запрос к таблице так, чтобы текущий порядковый номер даты находился между днем ​​начала и конца, а текущее время - между временем начала и конца. Возможно, вам придется заняться какой-нибудь необычной работой с окнами, которые охватывают полночь ... Я не запустил все комбинации в своей голове.

Вы не указали платформу базы данных, поэтому, если вы хотите избежать этого, вы можете сохранить ее в таблице данных и затем сериализовать ее в XML локально. Мне это кажется довольно легким.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...