2012-04-19 3 views
2

Я создаю систему бронирования, я хочу сделать это, когда пользователь выбирает дату на каландере, выпадающее поле будет заполнено временем, которое доступно.За исключением оператора

Ниже приведен код, у меня есть ...

Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged 

    Label1.Text = Calendar1.SelectedDate 
    Dim db As New DataClasses2DataContext 

    Dim times = From s In db.Apps Where s.Date = Calendar1.SelectedDate Select New With {s.StartTime} 

    Dim allslots = From c In db.Slots Select c.StartTime 

    Dim leftover = times.Except(allslots) 

    DropDownList1.DataSource = leftover 
    DropDownList1.DataBind() 


End Sub 

Это ошибка я получаю ...

Невозможно привести объект типа «System.Data.Linq.DataQuery 1[System.TimeSpan]' to type 'System.Collections.Generic.IEnumerable 1 [VB $ AnonymousType_1`1 [System.TimeSpan]].

Из моих общих знаний я знаю, что мне понадобится времяпровождение. Где-то, у меня была игра с вещами, но, похоже, она не работает, может ли кто-нибудь помочь?

thanks, Cora.

ответ

3

Я думаю, что вы имели в виду это:

Dim times = From s In db.Apps 
      Where s.Date = Calendar1.SelectedDate 
      Select s.StartTime 

Я думаю, что вы, возможно, получили Except назад. Вы имели в виду это?

Dim leftover = allslots.Except(times) 
+0

я сделал, но его все еще не показывает ничего в раскрывающемся списке, никаких ошибок просто пустые:/ – Cora

+0

Я изменила форму выпадающей из dropdownlist1 времен и получили эту ошибку ... «DataSource» не является член «System.Linq.IQueryable (Of System.TimeSpan)». – Cora

+0

Thats it! БЛАГОДАРЯ! – Cora

Смежные вопросы