2014-10-31 7 views
1

어떻게 사용할 수 있습니까 드롭 다운리스트에 대한 제어입니다. 오늘부터 시작하여 날짜 목록을 작성해야하고 다음 60 일 동안은 예약 된 날짜를 제외해야합니다. 모든 시간 슬롯이 예약되어있는 경우 슬롯을 예약 한 경우 목록에 해당 날짜를 추가하지 않은 것보다 매일 확인하는 쿼리를 작성했습니다.dropdownlist에서 날짜 및 시간을 채우는 방법은 무엇입니까?

이제 시간과 관련 있습니다. 시간은 09:00 Am to 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 데이터 형식을 문자열로 변환하고 바인드합니다 드롭 다운 컨트롤.

+0

다른 서비스가 있으며 시간 슬롯은 서비스를 기반으로합니다. 예를 들어, 모발 컷 지속 시간 30 분, 면도 지속 시간 30 분. 사용자가이 두 서비스를 선택하면이 기간이 추가되고 1 시간의 시간대가 해당 사용자에 대해 예약됩니다. 그 이상의 시간은 다른 사용자에게 표시되지 않습니다. 5 명의 직원이있어서 5 명에 대해 특정 시간을 사용할 수 있습니다. –

+0

헤어 컷, 면도, 얼굴, 얼굴 마사지와 같은 살롱 서비스가 제공됩니다. –

+0

아무도 해결책있어? @isthatso –

답변

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); 
관련 문제