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

ページが読み込まれると、データベースからのものは変更されません。しかし、ページをリロードすると、実際には完璧に機能します。

それらがすでにメモリにあることを確認するために、どこにチェックを入れることができますか。

どんな助けでも大歓迎です。皆さんありがとう。

ペトル

4

1 に答える 1

1

各週に同じコントロールを使用しているため、別の週が選択されたときにデータを更新する必要があります。週を切り替えるために使用しているコントロールでこれを行うことができるはずです。

Page_LoadComplete は、ページの読み込みが完了するたびにのみ起動するように促進できます。これが、別のページに移動して戻るときにコントロールが機能する理由です。

于 2012-11-26T23:25:03.830 に答える