﻿'Created by Joshua Blackstone
'Please do not remove

Imports System.Web.UI.WebControls
Imports System.Web
Imports System.Web.Profile
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports System.Collections
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Globalization
Imports System.Drawing
Imports System.Collections.ObjectModel
Imports AjaxControlToolkit
Imports System.Text
Public Class FormViewModified
    Inherits FormView

    Public Sub New()
        PagerSettings.Position = PagerPosition.Top
    End Sub

    Protected Overrides Sub InitializePager( _
        ByVal row As FormViewRow, _
        ByVal pagedDataSource As PagedDataSource _
    )

        Dim cell As New TableCell()
        cell.Controls.Add(New LiteralControl("<div class='none'>"))
        Dim MessageLabel As New Label
        MessageLabel.ID = "MessageLabel"
        MessageLabel.Text = "Select a Page: "
        cell.Controls.Add(MessageLabel)

        Dim pageList As New DropDownList
        pageList.ID = "PageDropDownList"
        pageList.AutoPostBack = True
        AddHandler pageList.SelectedIndexChanged, AddressOf PageDropDownList_SelectedIndexChanged
        cell.Controls.Add(pageList)

        Dim buttonFirst As New ImageButton
        buttonFirst.ID = "ImageButtonFirst"
        buttonFirst.CommandName = "Page"
        buttonFirst.CommandArgument = "First"
        buttonFirst.ImageUrl = "http://www.joshuablackstone.com/DynamicData/Content/Images/PgFirst.gif"
        'http://www.joshuablackstone.com/DynamicData/Content/Images/PgFirst.gif
        cell.Controls.Add(buttonFirst)

        Dim spaceLabel3 As New Label
        spaceLabel3.Text = "&nbsp;&nbsp;"
        cell.Controls.Add(spaceLabel3)

        Dim buttonPrevious As New ImageButton
        buttonPrevious.ID = "ImageButtonPrevious"
        buttonPrevious.CommandName = "Page"
        buttonPrevious.CommandArgument = "Prev"
        buttonPrevious.ImageUrl = "http://www.joshuablackstone.com/DynamicData/Content/Images/PgPrev.gif"
        'http://www.joshuablackstone.com/DynamicData/Content/Images/PgFirst.gif
        cell.Controls.Add(buttonPrevious)

        Dim spaceLabel5 As New Label
        spaceLabel5.Text = "&nbsp;&nbsp;"
        cell.Controls.Add(spaceLabel5)

        Dim pageLabel As New Label
        pageLabel.ID = "CurrentPageLabel"
        cell.Controls.Add(pageLabel)

        Dim spaceLabel4 As New Label
        spaceLabel4.Text = "&nbsp;&nbsp;"
        cell.Controls.Add(spaceLabel4)

        Dim buttonNext As New ImageButton
        buttonNext.ID = "ImageButtonNext"
        buttonNext.CommandName = "Page"
        buttonNext.CommandArgument = "Next"
        buttonNext.ImageUrl = "http://www.joshuablackstone.com/DynamicData/Content/Images/PgNext.gif"
        'http://www.joshuablackstone.com/DynamicData/Content/Images/PgFirst.gif
        cell.Controls.Add(buttonNext)

        Dim spaceLabel6 As New Label
        spaceLabel6.Text = "&nbsp;&nbsp;"
        cell.Controls.Add(spaceLabel6)

        Dim buttonLast As New ImageButton
        buttonLast.ID = "ImageButtonLast"
        buttonLast.CommandName = "Page"
        buttonLast.CommandArgument = "Last"
        buttonLast.ImageUrl = "http://www.joshuablackstone.com/DynamicData/Content/Images/PgLast.gif"
        'http://www.joshuablackstone.com/DynamicData/Content/Images/PgFirst.gif
        cell.Controls.Add(buttonLast)

        Dim spaceLabel7 As New Label
        spaceLabel7.Text = "&nbsp;&nbsp;"
        cell.Controls.Add(spaceLabel7)

        Dim ltrlSpan As New Label()
        ltrlSpan.Text = pagedDataSource.DataSourceCount.ToString() & "&nbsp;record(s)&nbsp;found"
        cell.Controls.Add(ltrlSpan)

        Dim spaceLabel8 As New Label
        spaceLabel8.Text = "<br />"
        cell.Controls.Add(spaceLabel8)

        Dim PrintButton As New LinkButton
        PrintButton.Text = "Print"
        PrintButton.ID = "PrintButton"
        PrintButton.Attributes.Add("onclick", "javascript:window.print();")
        cell.Controls.Add(PrintButton)

        cell.Controls.Add(New LiteralControl(" | "))

        Dim CloseButton As New LinkButton
        CloseButton.Text = "Close"
        CloseButton.ID = "CloseButton"
        CloseButton.Attributes.Add("onclick", "window.close();")
        cell.Controls.Add(CloseButton)

        cell.Controls.Add(New LiteralControl(" | "))

        Dim WordButton As New LinkButton
        WordButton.Text = "Word"
        WordButton.ID = "WordButton"
        AddHandler WordButton.Click, AddressOf Word_Click
        cell.Controls.Add(WordButton)

        cell.Controls.Add(New LiteralControl("</div>"))
        row.Cells.Add(cell)
    End Sub

    Protected Sub PageDropDownList_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
        Dim pagerRow As FormViewRow = Me.TopPagerRow
        Dim pageList As DropDownList = CType(pagerRow.FindControl("PageDropDownList"), DropDownList)
        Me.PageIndex = pageList.SelectedIndex
    End Sub

    Private Sub FormViewModified_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.DataBound
        If Me.PageCount > 0 Then
            Dim pagerRow As FormViewRow = Me.TopPagerRow
            Dim pageList As DropDownList = CType(pagerRow.FindControl("PageDropDownList"), DropDownList)
            Dim pageLabel As Label = CType(pagerRow.FindControl("CurrentPageLabel"), Label)
            If pageList IsNot Nothing Then
                For i As Integer = 0 To Me.PageCount - 1
                    Dim pageNumber As Integer = i + 1
                    Dim item As New ListItem(pageNumber.ToString())
                    If i = Me.PageIndex Then
                        item.Selected = True
                    End If
                    pageList.Items.Add(item)
                Next i
            End If

            If pageLabel IsNot Nothing Then
                Dim currentPage As Integer = Me.PageIndex + 1
                pageLabel.Text = "Page " & currentPage.ToString() & " of " & Me.PageCount.ToString()
            End If
        End If
    End Sub

    Protected Sub Word_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        HttpContext.Current.Response.ClearContent()
        HttpContext.Current.Response.ClearHeaders()
        HttpContext.Current.Response.ContentType = "application/msword"
    End Sub
End Class
