2012-11-26 3 views
1

(달력 예약 시스템)에서 체크 박스 목록 사용 시도 중. 데이터베이스에 날짜와 시간에 대한 데이터가있는 경우 확인란이 비활성화되고 빨간색이어야합니다. 이 모든 것이 완벽하게 작동합니다. vb.net체크 박스 목록 비활성화 비활성화

확인을 사용하여 어떻게 페이지로드는이 데이터베이스에서 사람을 변경하지 않을 경우 체크 박스

Dim i As Integer 
    Dim chboxItem As ListItem 
    For Each chboxItem In CheckBoxListMon.Items 
     i += 1 
     If (i Mod 1 = 0) Then 
      chboxItem.Enabled = True 
     End If 
    Next 



Protected Sub Page_LoadComplete(sender As Object, e As EventArgs) Handles Me.LoadComplete 

    Try 
     strQuery = "SELECT BookingDate, checkBoxItem, BookRegUserID,Booked FROM bookings INNER JOIN checkboxitems where checkBoxItem = BookingTime" 

     MySQLCmd = New MySqlCommand(strQuery, dbCon) 

     dbCon.Open() 

     DR = MySQLCmd.ExecuteReader 

     While DR.Read 

      bookDate = DR.Item("BookingDate") 
      bookTime = DR.Item("checkBoxItem") 
      bookRegID = DR.Item("BookRegUserID") 
      booked = DR.Item("Booked") 

      Dim test As String = bookTime.ToString() 

      Select Case True 

       Case bookDate = lblMonday.Text And CheckBoxListMon.Items.FindByValue(test) IsNot Nothing 

        CheckBoxListMon.Items.FindByValue(bookTime).Enabled = False 
        CheckBoxListMon.Items.FindByValue(bookTime).Attributes.Add("Style", "color: red;") 

      End Select 
     End While 
     DR.Close() 
     dbCon.Close() 
    Catch ex As Exception 

    End Try 

End Sub 

을 취소 할 수있는 방법을 발견했다. 하지만 페이지를 새로 고침하면 실제로 완벽하게 작동합니다.

어디에서 이미 메모리에 있는지 확인할 수 있습니다.

도움이 될 것입니다. 모두에게 감사드립니다. 다른 주를 선택하면 각 주에 대해 동일한 컨트롤을 사용하고 있기 때문에

페트르

답변

0

당신은 데이터를 새로 고칠 필요가있다. 당신은 주간을 토글하는 데 사용하는 모든 컨트롤에서이 작업을 수행 할 수 있어야합니다.

Page_LoadComplete는 페이지로드가 완료 될 때마다 실행되도록 만 설정할 수 있습니다. 즉, 다른 페이지로 돌아갈 때 컨트롤이 작동하는 이유입니다.

관련 문제