2014-10-31 73 views
1

如何使用下拉列表控制日期。我必须建立一个从今天开始的日期列表和未来60天的日期,这些日期排除了预订的日期。我已经建立了一个查询,每天都会检查,如果所有时间段都已预订,如果预订的时间段比我没有将该日期添加到列表中。如何在下拉列表中填充日期和时间?

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

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

+0

有不同的服务和时间段是基于服务。例如,剪发时间30分钟,剃须时间30分钟。如果用户选择这两项服务,则将添加这些时间,并且将为该用户预订1小时的时间段。比很多时间不会显示给其他用户。我有5名工作人员,因此特定时间可供5人使用。 – 2014-10-31 10:34:50

+0

在服务沙龙服务,如剪发,剃须,面部,脸部按摩存储。 – 2014-10-31 11:20:57

+0

任何人都有解决方案? @是这样吗 – 2014-11-01 07:13:44

回答

0

我已经这样做了,在一个dropdownlist控件中添加日期,并在第二个dropdownlist控件中添加日期。

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