2012-11-26 135 views
1

尝试使用(日历预订系统)中的复选框列表。如果数据库中有任何数据与日期和小时相对应,则应该禁用该复选框并为红色。这一切都完美的工作是代码。用vb.net复选框列表保持禁用

OK我找到了一种方法如何清除复选框

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只能在每次页面完成加载时触发,这就是为什么您的控件在转到另一页时返回时会工作。