2014-10-31 72 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);