如何在下拉列表中填充日期和时间?

时间:2014-10-31 08:39:20

标签: c# asp.net linq date time

如何对日期使用下拉列表控件。我必须建立一个从今天开始的日期列表和接下来60天的日期,这些日期不包括预订日期。我已经构建了一个查询,每天都会检查,如果所有时间段都已预订,是否预订了时段,而不是我没有将该日期添加到列表中。

现在关于时间。时间从 09:00 Am 10:00 Pm 。但我必须从 09:00Am 09:30Pm 展示。选择日期后,如何在新的下拉列表控件中填充空闲时段。我有需要持续时间的服务,因此请让用户从下拉列表中选择可用时间。在选择时,我已添加所需的时间+所需的持续时间。如果服务需要更多时间,那么当天的可用时间,我必须显示一条消息,要求用户选择下一个可用日期。

TABLE [dbo].[Appointments] (
[Name]              NVARCHAR (100)   NOT NULL,
[ShopperId]         UNIQUEIDENTIFIER NOT NULL,
[Date]              DATE             NOT NULL,
[Time]              TIME (7)         NOT NULL,
[AppointmentNo]     INT              IDENTITY (1, 1) NOT NULL,
[AppointmentStatus] NVARCHAR (100)   NOT NULL,
[Services]          NVARCHAR (1000)  NOT NULL)

TABLE [dbo].[AddService] (
[ServiceId]        UNIQUEIDENTIFIER NOT NULL,
[ServiceName]      NVARCHAR (500)   NOT NULL,
[DurationRequired] SMALLINT         NOT NULL,
[Description]      NVARCHAR (2000)  NOT NULL,
[Active]           BIT              NOT NULL)

如何构建类型字符串列表。将数据库中的所有约会从今天的日期拉到未完成预订日的下一个60天。这样我就可以获得所有可用日期的清单。

我需要计算列表中的项目数。如果计数小于60,则从列表中获取最后一个日期,并添加上次日期的日期,直到列表大小为60.

然后使用.shortdatetime.tostring将datetime数据类型转换为字符串,并将其绑定到下拉控件。

1 个答案:

答案 0 :(得分:0)

我这样做是为了在一个下拉列表控件中添加日期,在第二个下拉列表控件中添加了时间。

DropDownListDate.Items.Add(DateTime.Now.ToShortDateString()); //for adding current date
    for (int i = 1; i <= 59; i++) //loop to add next 60 days
    {
        DropDownListDate.Items.Add(DateTime.Now.AddDays(i).ToShortDateString());
    }

    DateTime dt = Convert.ToDateTime("09:00"); //for adding start time
    for (int i = 0; i <= 25; i++) //Set up every 30 minute interval
    {
        ListItem li2 = new ListItem(dt.ToShortTimeString(), dt.ToShortTimeString());
        li2.Selected = false;
        DropDownListTime.Items.Add(li2);
        dt = dt.AddMinutes(30);