复选框列表保持禁用状态

时间:2012-11-26 18:50:20

标签: asp.net vb.net clear checkboxlist

尝试在(日历预订系统)中使用复选框列表。如果数据库中的任何数据与日期和小时相对应,则应禁用该复选框并选择红色。这一切都完美地在这里是代码。使用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

当页面加载时,它不会改变数据库中的那些。但是当我重新加载页面时,它实际上是完美的。

我在哪里可以检查以确保它们已经在内存中。

任何帮助将不胜感激。谢谢大家。

彼得

1 个答案:

答案 0 :(得分:1)

您需要在选择另一周后刷新数据,因为您每周都使用相同的控件。无论您使用什么控制来切换几周,都应该能够做到这一点。

每次页面加载完成后,只能加速Page_LoadComplete,这就是为什么你的控件在转到另一个页面并返回时的工作原理。