Home All Groups Group Topic Archive Search About

Displaying Panel After Timer Loop

Author
1 Apr 2010 12:53 PM
J Snaith
Good day.  I have asp.net page in vb.net that gets set of photos records
from a database table (paths to photos).  Loads that data into session
datatable, divide into parts and display each part at timer interval.  For
eg. every 7 seconds display first 5 (of 20) photos in asp.net datagrid, then
next set of 5, then next set of 5 photos, etcetera.  When all 20 photos have
been displayed (paged) I want to show new panel for 7 seconds (pnlWarning).
Hide pnlViewPhotos and show pnlWarning.  Then, start loop again and start
displaying paged photos again (in pnlViewPhotos).  Then after 20 display
warning again, etcetera.  I have the code working well to page photos but
cannot determine where to show pnlWarning panel and hide other panel for the
7 seconds after all photos displayed, then start displaying photos again
after 7 seconds of making pnlWarning visible=true.  Could you please take
look at following code snippet and please advise where I may accomplish this
tasks?  Any direction you have would be appreciate and of great help.  Thank
you and have fantastic day.


'click button to start
Sub btnDisplayPagingPhotos_Click(ByVal sender As Object, ByVal e As
System.EventArgs)
    Dim varPhotosID As String = 24
    session("thePageSize") = 7
    Timer1.Interval = 7 'seconds
    GetPhotos(varPhotosID)
End Sub

Private Sub GetPhotos(ByVal photosid As String)
    Dim ssql As String
    Dim cnn As New SqlConnection(ConfigurationSettings.AppSettings.Get("cnn"))
    cnn.Open()
    ssql = "exec procGetPhotos '" & photosid & "'"

    pnlViewPhotos.visible = True

    session("da") = New SqlDataAdapter(ssql, cnn)
    session("ds") = New DataSet
    session("da").Fill(session("ds"), "photos")
    session("dtPhotosSource") = session("ds").Tables("photos")

    getPhotosData()

    cnn.Close()
End Sub

Private Sub goToFirstSetOfPhotos()
    If session("theCurrentPage") = 1 Then
        Return
    End If
    session("theCurrentPage") = 1
    session("theRecordNumber") = 0
    LoadPhotos()
End Sub

Private Sub LoadPhotos()
    Timer1.Interval = ddlPagingInterval.SelectedItem.Value
    session("dtTemp") = session("dtPhotosSource").Clone
    If session("theCurrentPage") = session("thePageCount") Then
        session("endRec") = session("theMaxRecord")
    Else
        session("endRec") = session("thePageSize") * session("theCurrentPage")
    End If
    session("startRec") = session("theRecordNumber")

    'if photos actually exist
    Dim intCount As Integer
    intCount = session("dtPhotosSource").Rows.Count
    If intCount > 0 Then
        Dim i As Integer
        For i = session("startRec") To session("endRec") - 1
            session("dtTemp").ImportRow(session("dtPhotosSource").Rows(i))
            session("theRecordNumber") = session("theRecordNumber") + 1
        Next
    End If

    dgPhotos.DataSource = session("dtTemp")
    dgPhotos.Databind()
End Sub

Private Sub getPhotosData()
    session("theMaxRecord") = session("dtPhotosSource").Rows.Count
    session("thePageCount") = session("theMaxRecord") \ session("thePageSize")
    If (session("theMaxRecord") Mod session("thePageSize")) > 0 Then
        session("thePageCount") = session("thePageCount") + 1
    End If
    session("theCurrentPage") = 1
    session("theRecordNumber") = 0
    LoadPhotos()
End Sub

Private Sub Timer1_Elapsed(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Timer1.Elapsed
    session("theCurrentPage") = session("theCurrentPage") + 1
    If session("theCurrentPage") > session("thePageCount") Then
        session("theCurrentPage") = session("thePageCount")
        If session("theRecordNumber") = session("theMaxRecord") Then
            session("theCurrentPage") = 1
            getPhotosData()
            goToFirstSetOfPhotos()
            Dim varPhotosID As String = 24
            GetPhotos(photosid)
            Return
        End If
    End If
    LoadPhotos()
End Sub

Author
12 Apr 2010 9:25 PM
Alexey Smirnov
Show quote Hide quote
On Apr 1, 2:53 pm, "J Snaith" <no-s...@no-spam.com> wrote:
> Good day.  I have asp.net page in vb.net that gets set of photos records
> from a database table (paths to photos).  Loads that data into session
> datatable, divide into parts and display each part at timer interval.  For
> eg. every 7 seconds display first 5 (of 20) photos in asp.net datagrid, then
> next set of 5, then next set of 5 photos, etcetera.  When all 20 photos have
> been displayed (paged) I want to show new panel for 7 seconds (pnlWarning).
> Hide pnlViewPhotos and show pnlWarning.  Then, start loop again and start
> displaying paged photos again (in pnlViewPhotos).  Then after 20 display
> warning again, etcetera.  I have the code working well to page photos but
> cannot determine where to show pnlWarning panel and hide other panel for the
> 7 seconds after all photos displayed, then start displaying photos again
> after 7 seconds of making pnlWarning visible=true.  Could you please take
> look at following code snippet and please advise where I may accomplish this
> tasks?  Any direction you have would be appreciate and of great help.  Thank
> you and have fantastic day.
>
> 'click button to start
> Sub btnDisplayPagingPhotos_Click(ByVal sender As Object, ByVal e As
> System.EventArgs)
>         Dim varPhotosID As String = 24
>         session("thePageSize") = 7
>         Timer1.Interval = 7 'seconds
>         GetPhotos(varPhotosID)
> End Sub
>
> Private Sub GetPhotos(ByVal photosid As String)
>         Dim ssql As String
>         Dim cnn As New SqlConnection(ConfigurationSettings.AppSettings.Get("cnn"))
>         cnn.Open()
>         ssql = "exec procGetPhotos '" & photosid & "'"
>
>         pnlViewPhotos.visible = True
>
>         session("da") = New SqlDataAdapter(ssql, cnn)
>         session("ds") = New DataSet
>         session("da").Fill(session("ds"), "photos")
>         session("dtPhotosSource") = session("ds").Tables("photos")
>
>         getPhotosData()
>
>         cnn.Close()
> End Sub
>
> Private Sub goToFirstSetOfPhotos()
>         If session("theCurrentPage") = 1 Then
>                 Return
>         End If
>         session("theCurrentPage") = 1
>         session("theRecordNumber") = 0
>         LoadPhotos()
> End Sub
>
> Private Sub LoadPhotos()
>         Timer1.Interval = ddlPagingInterval.SelectedItem.Value
>         session("dtTemp") = session("dtPhotosSource").Clone
>         If session("theCurrentPage") = session("thePageCount") Then
>                 session("endRec") = session("theMaxRecord")
>         Else
>                 session("endRec") = session("thePageSize") * session("theCurrentPage")
>         End If
>         session("startRec") = session("theRecordNumber")
>
>         'if photos actually exist
>         Dim intCount As Integer
>         intCount = session("dtPhotosSource").Rows.Count
>         If intCount > 0 Then
>                 Dim i As Integer
>                 For i = session("startRec") To session("endRec") - 1
>                         session("dtTemp").ImportRow(session("dtPhotosSource").Rows(i))
>                         session("theRecordNumber") = session("theRecordNumber") + 1
>                 Next
>         End If
>
>         dgPhotos.DataSource = session("dtTemp")
>         dgPhotos.Databind()
> End Sub
>
> Private Sub getPhotosData()
>         session("theMaxRecord") = session("dtPhotosSource").Rows.Count
>         session("thePageCount") = session("theMaxRecord") \ session("thePageSize")
>         If (session("theMaxRecord") Mod session("thePageSize")) > 0 Then
>                 session("thePageCount") = session("thePageCount") + 1
>         End If
>         session("theCurrentPage") = 1
>         session("theRecordNumber") = 0
>         LoadPhotos()
> End Sub
>
> Private Sub Timer1_Elapsed(ByVal sender As System.Object, ByVal e As
> System.EventArgs) Handles Timer1.Elapsed
>         session("theCurrentPage") = session("theCurrentPage") + 1
>         If session("theCurrentPage") > session("thePageCount") Then
>                 session("theCurrentPage") = session("thePageCount")
>                 If session("theRecordNumber") = session("theMaxRecord") Then
>                         session("theCurrentPage") = 1
>                         getPhotosData()
>                         goToFirstSetOfPhotos()
>                         Dim varPhotosID As String = 24
>                         GetPhotos(photosid)
>                         Return
>                 End If
>         End If
>         LoadPhotos()
> End Sub

Please look here
http://groups.google.com/group/microsoft.public.dotnet.framework.aspnet/browse_thread/thread/adf79796a1935ca6