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

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

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

任何帮助都感激不尽。谢谢大家。

彼得

4

1 回答 1

1

选择另一个星期后,您需要刷新数据,因为您每周使用相同的控件。您应该能够在用于切换几周的任何控件中执行此操作。

Page_LoadComplete 只能在每次页面完成加载时加速触发,这就是您的控件在转到另一个页面并返回时工作的原因。

于 2012-11-26T23:25:03.830 回答