尝试在(日历预订系统)中使用复选框列表。如果数据库中的任何数据与日期和小时相对应,则应禁用该复选框并选择红色。这一切都完美地在这里是代码。使用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 :(得分:1)
您需要在选择另一周后刷新数据,因为您每周都使用相同的控件。无论您使用什么控制来切换几周,都应该能够做到这一点。
每次页面加载完成后,只能加速Page_LoadComplete,这就是为什么你的控件在转到另一个页面并返回时的工作原理。