【问题标题】:How to populate date and time in dropdownlist?如何在下拉列表中填充日期和时间?
【发布时间】:2014-10-31 08:39:19
【问题描述】:

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

现在关于时间。时间是 09:00 Am10:00 Pm。但我必须从 09:00Am09:30Pm 显示。选择日期后,如何在新的 dropdownlist 控件中填充空闲时间段。我有需要持续时间的服务,所以让用户从 dropdownlist 中选择可用时间。在选择时,我已添加所需的选定时间 + 持续时间。如果一项服务花费的时间多于当天的可用时间,我必须显示一条消息,要求用户选择下一个可用日期。

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 数据类型转换为字符串,并绑定到下拉控件。

【问题讨论】:

  • 有不同的服务,时间段根据服务而定。例如,理发时间 30 分钟,剃须时间 30 分钟。如果用户选择这两个服务,则将添加这些持续时间,并且将为该用户预订 1 小时的时间段。超过那个时间不会显示给其他用户。我有 5 名工作人员,因此特定时间可供 5 人使用。
  • 在服务中存储理发、剃须、面部护理、面部按摩等沙龙服务。
  • 有人解决了吗??? @isthatso

标签: c# asp.net linq date time


【解决方案1】:

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

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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多