locked
e.NewPageIndex is not getting the correct page value using datagrid in VB.NET 1.1

    Question

  • I have a datagrid inside the repeater. When a broker has more then 10 pages of members that are recieving a rebate and you go to pages 11 through 20 and click a page nubmer it takes you back to a page numbered 1 through 10. also it seems that the user can only view 20 pages on the run report, when click to go farther then page 20 it takes you back to page 1.
    tag:Datagrid
    Here is my code: ASPX Page:
    ------------------------------------------------------------------------------------
        <%@ Page Language="vb" AutoEventWireup="false" ASPCompat="true" EnableViewStateMac="true" Codebehind="Rebate_Group.aspx.vb" Inherits="brokerreports.Rebate_Group" %>
        <LINK rel="stylesheet" href="/css/broker.css">
        
        
        <div class="content">
        		<table border="0" width="95%" align="center">
        			<tr>
        				<td class="textRed" colSpan="2"><asp:label id="lblErrorMessage" runat="server" text="There are no Broker Numbers associated with this report."
        						visible="false"></asp:label></td>
        			</tr>
        		</table>
        		<table border="0" width="95%" align="center">
        			<tr>
        				<td class="h4" colSpan="2"><asp:label id="brksel" runat="server" text="Please select a Broker ID number for the report"
        						visible="true"></asp:label></td>
        			</tr>
        			<tr>
        				<td class="textRed" colSpan="2"><asp:label id="brknoid" runat="server" text="There is no active Group for your selected report. Please check the Broker ID(s) and try again."
        						visible="false"></asp:label></td>
        			</tr>
        			<tr>
        				<td width="20%" valign="top" class="text"><asp:listbox id="BrokerID" Runat="server" cssclass="text" Width="122" Height="100"></asp:listbox></td>
        				<td>
        					<p class="text">It is important to note the definition of small and large employer 
        						groups is unique under healthcare reform. For purposes of rebates, the 
        						definition of a small group is up to 50 average total employees in the prior 
        						calendar year (in this case 2010). This can include part-time and seasonal 
        						workers
        					</p>
        					<p class="text">Due to privacy restrictions, rebate amounts are not provided for 
        						groups who have terminated their contract with BCBSAZ. Please contact your 
        						BCBSAZ sales representative for more information.
        					</p>
        					<p class="text">The data provided in this report is current as of June 15, 2012. 
        						Any changes to contact information or the agent of record made after June 15, 
        						2012 is not reflected. The information in this report is confidential and 
        						intended for the sole use of the recipient and any dissemination or 
        						distribution of this information is strictly prohibited.
        					</p>
        				</td>
        			</tr>
        			<tr>
        				<td valign="top" colspan="2">
        					<asp:button id="btnSubmit" runat="server" CssClass="button" Text="Run Report"></asp:button>&nbsp;&nbsp;
        					<asp:button id="btnExport" runat="server" CssClass="button" Text="Export to Excel" Visible="false"></asp:button>&nbsp;&nbsp;
        					<asp:checkbox id="chkAddr" runat="server" CssClass="text" text="Include mailing addresses in exported file"
        						visible="false"></asp:checkbox>
        				</td>
        				<!--	<td vAlign="top" align="left"><asp:button id="btnHome" runat="server" CssClass="button" Text="Return To List"></asp:button></td> -->
        			</tr>
        		</table>
        		</TD></TR></TBODY>
        		<asp:repeater id="Repeater_Grp" runat="server" visible="true" onitemdatabound="Repeater_Grp_ItemDataBound">
        			<ItemTemplate>
        				<tr>
        					<td class="h2">
        						<asp:Label id="BrkID" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"rebateBrokerNumber") %>' visible = "true">
        						</asp:Label><br />
        						<asp:Label id="BrkName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"rebateBrokerName") %>' visible = "true">
        						</asp:Label></td>
        				</tr>
        				<tr>
        					<td>
        						<asp:datagrid id="DataGrid_Rpt" Width="100%" CssClass="dg" runat="server" visible="true"
        							AllowPaging="true" PageSize="10" OnPageIndexChanged="DataGrid_Rpt_Page" AllowCustomPaging="false" AutoGenerateColumns="False"
        							 PagerStyle-AlwaysVisible="true" AllowSorting="true" OnSortCommand="DataGrid_Rpt_Sorting" showfooter="true">
        							<HeaderStyle CssClass="dgHeader"></HeaderStyle>
        							<FooterStyle BackColor="#0082c5"></FooterStyle>
        							<SelectedItemStyle cssclass="dgSelItem"></SelectedItemStyle>
        							<AlternatingItemStyle CssClass="dgAltItem"></AlternatingItemStyle>
        							<ItemStyle cssClass="dgItem"></ItemStyle>							
        							<PagerStyle Mode="NumericPages" HorizontalAlign="Right"></PagerStyle>
        							<Columns>
        								<asp:BoundColumn DataField="rebateGroupID" ReadOnly="True" HeaderText="Group Number" SortExpression="rebateGroupID">
        									<HeaderStyle HorizontalAlign="Center" VerticalAlign="Bottom" width="100px"></HeaderStyle>
        									<ItemStyle HorizontalAlign="Center" VerticalAlign="Top"></ItemStyle>
        								</asp:BoundColumn>
        								<asp:BoundColumn DataField="rebateGrpName" ReadOnly="True" HeaderText="Group Name" SortExpression="rebateGrpName">
        									<HeaderStyle HorizontalAlign="Center" VerticalAlign="Bottom" width="100px"></HeaderStyle>
        									<ItemStyle HorizontalAlign="Center" VerticalAlign="Top"></ItemStyle>
        								</asp:BoundColumn>
        								<asp:BoundColumn DataField="rebateGroupTerm" SortExpression="rebateGroupTerm" ReadOnly="True" HeaderText="Group Status">
        									<HeaderStyle HorizontalAlign="Center" VerticalAlign="Bottom" width="100px"></HeaderStyle>
        									<ItemStyle HorizontalAlign="Center" VerticalAlign="Top"></ItemStyle>
        								</asp:BoundColumn>
        								<asp:BoundColumn DataField="rebateMLRSize" SortExpression="rebateMLRSize" ReadOnly="True" HeaderText="Group Size">
        									<HeaderStyle HorizontalAlign="Center" VerticalAlign="Bottom" width="100px"></HeaderStyle>
        									<ItemStyle HorizontalAlign="Center" VerticalAlign="Top"></ItemStyle>
        								</asp:BoundColumn>
        								<asp:BoundColumn DataField="rebateGroupAddr1" ReadOnly="True" HeaderText="Street1" visible="false">
        									<HeaderStyle HorizontalAlign="Center" VerticalAlign="Bottom"></HeaderStyle>
        									<ItemStyle HorizontalAlign="Left" VerticalAlign="Top"></ItemStyle>
        								</asp:BoundColumn>
        								<asp:BoundColumn DataField="rebateGroupAddr2" ReadOnly="True" HeaderText="Street2" visible="false">
        									<HeaderStyle HorizontalAlign="Center" VerticalAlign="Bottom"></HeaderStyle>
        									<ItemStyle HorizontalAlign="Left" VerticalAlign="Top"></ItemStyle>
        								</asp:BoundColumn>
        								<asp:BoundColumn DataField="rebateGroupCity" ReadOnly="True" HeaderText="City" visible="false">
        									<HeaderStyle HorizontalAlign="Center" VerticalAlign="Bottom"></HeaderStyle>
        									<ItemStyle HorizontalAlign="Left" VerticalAlign="Top"></ItemStyle>
        								</asp:BoundColumn>
        								<asp:BoundColumn DataField="rebateGroupState" ReadOnly="True" HeaderText="State" visible="false">
        									<HeaderStyle HorizontalAlign="Center" VerticalAlign="Bottom"></HeaderStyle>
        									<ItemStyle HorizontalAlign="Left" VerticalAlign="Top"></ItemStyle>
        								</asp:BoundColumn>
        								<asp:BoundColumn DataField="rebateGroupZip" ReadOnly="True" HeaderText="Zip code" visible="false">
        									<HeaderStyle HorizontalAlign="Center" VerticalAlign="Bottom"></HeaderStyle>
        									<ItemStyle HorizontalAlign="Left" VerticalAlign="Top"></ItemStyle>
        								</asp:BoundColumn>
        								<asp:BoundColumn DataField="rebateRebateAmount" ReadOnly="True" SortExpression="rebateRebateAmount"
        									HeaderText="Rebate Amount">
        									<HeaderStyle HorizontalAlign="Center" VerticalAlign="Bottom" width="90px"></HeaderStyle>
        									<ItemStyle HorizontalAlign="Right" VerticalAlign="Top"></ItemStyle>
        								</asp:BoundColumn>
        								<asp:BoundColumn DataField="rebateGroupLeader" ReadOnly="True" SortExpression="rebateGroupLeader"
        									HeaderText="GBA Name">
        									<HeaderStyle HorizontalAlign="Center" VerticalAlign="Bottom" width="100px"></HeaderStyle>
        									<ItemStyle HorizontalAlign="Center" VerticalAlign="Top"></ItemStyle>
        								</asp:BoundColumn>
        							</Columns>
        						</asp:datagrid>						
        					</td>
        				</tr>
        			</ItemTemplate>
        			<HeaderTemplate>
        				<table style="border-top:1px solid #C6E3F7;margin-left:40px;width:90%;margin-top:10px;">
        					<tr>
        						<td>&nbsp;</td>
        					</tr>
        				</table>
        				<table style="width:80%;margin-top:10px;margin-left:40px;">
        			</HeaderTemplate>
        			<FooterTemplate>
        	</TABLE>
        				
        </FooterTemplate>
        		</asp:repeater>
        		<PagingTemplate>
        			<div class="content" align="center" style="MARGIN-TOP:10px;MARGIN-LEFT:40px;WIDTH:80%">
        				<span class="h4">
        	        <asp:label id="lblpages" runat="server" visible="false" text="Pages:" class="h4"></asp:label>
        	        <asp:LinkButton id="lbtnFirst" runat="server" visible="false">First</asp:LinkButton>&nbsp;&nbsp;
        			<asp:LinkButton id="lbtnPrev" runat="server" visible="false">&lt;&lt;</asp:LinkButton>&nbsp;&nbsp;
        			<asp:LinkButton id="lbtnNext" runat="server" visible="false">&gt;&gt;</asp:LinkButton>&nbsp;&nbsp;
        			<asp:LinkButton id="lbtnLast" runat="server" visible="false">Last</asp:LinkButton></span></div></TD></TR></TBODY></TABLE>
        	</div></PAGINGTEMPLATE>
        <DIV></DIV>
        
        -----------------------------------------------------------------------------------------
        VB.Net Code Behind:
        -----------------------------------------------------------------------------------------
        Imports System.IO
        Imports System.Data
        Imports System.Text
        Imports BAZ.Web
        Imports System.Data.Common
        Imports BAZ.Helpers
        Imports System.Collections
        Imports System.Data.SqlClient
        Imports System.Web.UI.HtmlControls
        Imports System.Web.UI.WebControls
        Imports System.Configuration
        Imports System.Web
        Imports System.Web.Security
        Imports System.Web.UI
        
        Public Class Rebate_Group
            Inherits IxBCBSAZ.IxSecurePage
        
        #Region "Web Form Designer Generated Code "
        
            'This call is required by the Web Form Designer.
            <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        
            End Sub
            Protected WithEvents BrokerID As System.Web.UI.WebControls.ListBox
            Protected WithEvents Run As System.Web.UI.WebControls.Button
            Protected WithEvents btnSubmit As System.Web.UI.WebControls.Button
            Protected WithEvents btnExport As System.Web.UI.WebControls.Button
            Public dt As New DataTable
            Protected WithEvents chkAddr As System.Web.UI.WebControls.CheckBox
            Protected WithEvents lblpages As System.Web.UI.WebControls.Label
            Protected WithEvents brksel As System.Web.UI.WebControls.Label
            Protected WithEvents brknoid As System.Web.UI.WebControls.Label
            Protected WithEvents BrkID As System.Web.UI.WebControls.Label
            Protected WithEvents BrkName As System.Web.UI.WebControls.Label
            Protected WithEvents DataGrid_Rpt As System.Web.UI.WebControls.DataGrid
            Protected WithEvents Repeater_Grp As System.Web.UI.WebControls.Repeater
            Protected WithEvents linkPrev As System.Web.UI.WebControls.HyperLink
            Protected WithEvents linkNext As System.Web.UI.WebControls.HyperLink
            Protected WithEvents lbtnPrev As System.Web.UI.WebControls.LinkButton
            Protected WithEvents lbtnNext As System.Web.UI.WebControls.LinkButton
            Protected WithEvents lbtnFirst As System.Web.UI.WebControls.LinkButton
            Protected WithEvents lbtnLast As System.Web.UI.WebControls.LinkButton
            Public Shared dg_view As New DataView
            'Public Shared dg As New DataGrid
        
        
            'NOTE: The following placeholder declaration is required by the Web Form Designer.
            'Do not delete or move it.
            Private designerPlaceholderDeclaration As System.Object
            Protected WithEvents lblErrorMessage As System.Web.UI.WebControls.Label
            Dim obj As New PagedDataSource
        
            Private Property SortDirection() As String
                Get
                    If (ViewState("SortDirection") Is Nothing) Then ViewState("SortDirection") = String.Empty
                    Return ViewState("SortDirection").ToString()
                End Get
                Set(ByVal value As String)
                    ViewState("SortDirection") = value
                End Set
            End Property
            Private Property SortOrderBy() As String
                Get
                    If (ViewState("SortOrderBy") Is Nothing) Then ViewState("SortOrderBy") = String.Empty
                    Return ViewState("SortOrderBy").ToString()
                End Get
                Set(ByVal value As String)
                    ViewState("SortOrderBy") = value
                End Set
            End Property
        
            Private Property SortExpression() As String
                Get
                    If (ViewState("SortExpression") Is Nothing) Then ViewState("SortExpression") = String.Empty
                    Return ViewState("SortExpression").ToString()
                End Get
                Set(ByVal value As String)
                    ViewState("SortExpression") = value
                End Set
            End Property
        
            Public Property CurrentPage() As Integer
                Get
                    ' look for current page in ViewState
                    Dim o As Object = Me.ViewState("_CurrentPage")
                    If o Is Nothing Then
                        Return 0
                    Else
                        ' default to showing the first page
                        Return CInt(o)
                    End If
                End Get
        
                Set(ByVal Value As Integer)
                    Me.ViewState("_CurrentPage") = Value
                End Set
            End Property
            Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
                'CODEGEN: This method call is required by the Web Form Designer
                'Do not modify it using the code editor.
                 InitializeComponent()
                
            End Sub
        
        #End Region
        
        #Region "Page Load event"
            Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
                'Put user code to initialize the page here
                Try                    
                    If Not IsPostBack Then
                        SetBrokerIDsDropDownIx()
                    Else
                        GenerateReport()
                    End If
        
                Catch ex As Exception
                    System.Logs.WebLog.LogException(ex, "Test version of broker_grouprebate_inq is throwing an unexpected exception")
                    Response.Redirect("../Errors/UnexpectedError.aspx")
        
                End Try
        
            End Sub
        #End Region
        
        #Region "Logic for generating report"
            Private Sub GenerateReport()
                Dim sqlCmd As New SqlCommand
                Dim sqlAdp As New SqlDataAdapter
                Dim ds As New DataSet
                Dim id As String = BrokerID.SelectedValue.ToString
                'Dim brokerArrayList As ArrayList = Session.Item("BrokerArray")
                Dim brokerArrayList As New ArrayList
                Try
        
                    If Not (Session.Item("BrokerArray") Is Nothing) Then
                        brokerArrayList = Session.Item("BrokerArray")
                    End If
        
                    brokerArrayList.Add("05645")
                    brokerArrayList.Add("03345")
                    brokerArrayList.Add("02146")
                    brokerArrayList.Add("04146")
                    brokerArrayList.Add("06845")
                    brokerArrayList.Add("05845")
                    brokerArrayList.Add("09845")
                    brokerArrayList.Add("99999")
                    brokerArrayList.Add("88972")
                    brokerArrayList.Add("89806")
                    If IsNothing(brokerArrayList.ToArray()) Or (brokerArrayList.Count = 0) Then
                        lblErrorMessage.Visible = True
                        Exit Sub
                    Else
                        lblErrorMessage.Visible = False
                    End If
                    brokerArrayList.Sort()    
                    If id.Equals("All") Then
                        id = Get_ArrayList_String(brokerArrayList)
                    End If
        
                Catch ex As Exception
                    System.Logs.WebLog.LogException(ex, "There are no Broker Numbers associated with this report.")
        
                End Try
        
                Dim oCConn As New SqlConnection(System.Web.WebEnvironment.GetConnString("Brokers"))
                oCConn.Open()
                sqlCmd.Connection = oCConn
                sqlCmd.CommandText = "usp_GetRbtBrkID_Grp"
                sqlCmd.CommandType = CommandType.StoredProcedure
                sqlCmd.Parameters.Add("@BrkNums", id)
                sqlAdp.SelectCommand = sqlCmd
                sqlAdp.Fill(ds)
                If ds.Tables.Count > 0 Then
                    If ds.Tables(0).Rows.Count > 0 Then    
                        brknoid.Visible = False
                        brksel.Visible = True
                        btnExport.Visible = True
                        chkAddr.Visible = True
                        If ds.Tables(0).Rows.Count > 4 Then
                            lbtnFirst.Visible = True
                            lbtnLast.Visible = True
                        Else
                            lbtnFirst.Visible = False
                            lbtnLast.Visible = False    
                        End If    
                    Else    
                        brksel.Visible = False
                        brknoid.Visible = True
                        btnExport.Visible = False
                        chkAddr.Visible = False    
                    End If    
                End If
        
                obj.DataSource = ds.Tables(0).DefaultView
                obj.AllowPaging = True
                obj.PageSize = 4    
                obj.CurrentPageIndex = CurrentPage
                If obj.PageCount - 1 > 3 Then
                    lbtnPrev.Visible = True
                    lbtnNext.Visible = True
                    lbtnFirst.Enabled = True
                    lbtnLast.Enabled = True
                    lbtnPrev.Enabled = True
                    lbtnNext.Enabled = True
                    lbtnFirst.Enabled = True
                    lbtnLast.Enabled = True
                ElseIf obj.PageCount - 1 = 3 Then
                    lbtnPrev.Visible = True
                    lbtnNext.Visible = True
                    lbtnPrev.Enabled = False
                    lbtnNext.Enabled = True
                    lbtnFirst.Enabled = True
                    lbtnLast.Enabled = True  
                ElseIf obj.PageCount = 2 Then
                    lbtnPrev.Visible = True
                    lbtnNext.Visible = True
                    lbtnPrev.Enabled = False
                    lbtnNext.Enabled = False
                    lbtnFirst.Enabled = True
                    lbtnLast.Enabled = True
                    lblpages.Visible = True
                Else
                    lbtnPrev.Visible = False
                    lbtnNext.Visible = False
                    lbtnPrev.Enabled = False
                    lbtnNext.Enabled = False
                    lbtnFirst.Enabled = False
                    lbtnLast.Enabled = False
                    lblpages.Visible = False
                    lbtnFirst.Visible = False
                    lbtnLast.Visible = False
                End If
                lbtnFirst.Enabled = Not obj.IsFirstPage
                lbtnLast.Enabled = Not obj.IsLastPage
                Repeater_Grp.DataSource = obj
                Repeater_Grp.DataBind()
        
            End Sub
        #End Region
        
        #Region "Repeater Binding"
            Protected Sub Repeater_Grp_ItemDataBound(ByVal Sender As Object, ByVal e As RepeaterItemEventArgs)
        
                Dim old_id As String = String.Empty
                Dim sortexp As String = String.Empty
        
                If (e.Item.ItemType = ListItemType.Item) Or _
                                            (e.Item.ItemType = ListItemType.AlternatingItem) Then
                    Dim Brkid As New Label
                    Dim Brkname As New Label
                    Brkid = CType(e.Item.FindControl("BrkID"), Label)
                    Brkname = CType(e.Item.FindControl("BrkName"), Label)
                    old_id = Brkid.Text
                    Dim new_id As String = String.Empty
                    new_id = "Broker ID "
                    ID = new_id + old_id
                    CType(e.Item.FindControl("BrkID"), Label).Text = ID
                    Dim Brk_name As String = String.Empty
                    Brk_name = ToTitleCase(Brkname.Text)
                    CType(e.Item.FindControl("BrkName"), Label).Text = Brk_name
                    Dim dg As New DataGrid
                    dg = CType(e.Item.FindControl("DataGrid_Rpt"), DataGrid)
                    sortexp = ViewState("Sortexpression")
                    Dim dg_view As DataView = Createdatasource(old_id, sortexp)
                    dg_view = Createdatasource(old_id, sortexp)
                    dg.DataSource = dg_view
                    Dim id_brk As String = BrokerID.SelectedIndex.ToString
                    If id_brk.Equals("0") Then
                        dg.PageSize = 10 '5
                    Else
                        dg.PageSize = 15
                    End If
        
                    If dg_view.Table.Rows.Count > 5 Then
                        dg.AllowPaging = True
                    Else
                        dg.AllowPaging = False
                    End If
        
                    dg.PagerStyle.Mode = PagerMode.NumericPages
                    dg.DataBind()
                End If
            End Sub
        #End Region
        
        #Region "Datagrid Binding,Sorting,Paging"
        
            Function Createdatasource(ByVal id As String, ByVal srtexp As String) As ICollection
                Dim dg_sqlCmd As New SqlCommand
                Dim dg_sqlAdp As New SqlDataAdapter
                Dim dg_ds As New DataSet
                Dim dg_oCConn As New SqlConnection(System.Web.WebEnvironment.GetConnString("Broker"))
                dg_oCConn.Open()
                dg_sqlCmd.Connection = dg_oCConn
                dg_sqlCmd.CommandText = "usp_GetRbtDet"
                dg_sqlCmd.CommandType = CommandType.StoredProcedure
                dg_sqlCmd.Parameters.Add("@BrkNum", id)
                dg_sqlAdp.SelectCommand = dg_sqlCmd
                dg_sqlAdp.Fill(dg_ds)
                Dim source As DataView = New DataView(dg_ds.Tables(0))
                Dim drv As DataRowView
                For Each drv In source
                    If drv("rebateRebateAmount") = "No Rebate" Or drv("rebateRebateAmount") = "See Note" Then
                    Else
                        Dim amt As Decimal = drv("rebateRebateAmount")
                        Dim deci_amt As String = amt.ToString("#0.00")
                        ' Dim deci_amt As String = String.Format("{0: #,#.00", drv("rebateRebateAmount"))
                        Dim new_amount As String = "$" + deci_amt
                        drv("rebateRebateAmount") = new_amount
        
                    End If
                    Dim size As String = String.Empty
                    If drv("rebateMLRSize") = "SG" Then
                        size = "Small Group"
                        drv("rebateMLRSize") = size
        
                    ElseIf drv("rebateMLRSize") = "LG" Then
                        size = "Large Group"
                        drv("rebateMLRSize") = size
                    Else
                    End If
                    Dim termind As String = String.Empty
                    If drv("rebateGroupTerm") = "N" Then
                        termind = "Active"
                        drv("rebateGroupTerm") = termind
                    ElseIf drv("rebateGroupTerm") = "Y" Then
                        termind = "Terminated"
                        drv("rebateGroupTerm") = termind    
                    Else
                    End If
                    Dim Grpname As String = drv("rebateGrpName")
                    If Not Grpname Is String.Empty Then
                        Grpname = ToTitleCase(Grpname)
                        drv("rebateGrpName") = Grpname
                    End If
                    Dim GBAname As String = drv("rebateGroupLeader")
                    If Not GBAname Is String.Empty Then
                        GBAname = FormatName(GBAname)
                        drv("rebateGroupLeader") = GBAname
                    End If    
                Next    
                Dim orderby As String = String.Empty
                orderby = ViewState("SortOrderBy")
                source.Sort = orderby
                Return source
            End Function            
            Sub DataGrid_Rpt_Page(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs) Handles DataGrid_Rpt.PageIndexChanged
                               
                Dim grid As DataGrid = DirectCast(sender, DataGrid)
                grid.CurrentPageIndex = e.NewPageIndex
        
                Dim id_brk As String = BrokerID.SelectedIndex.ToString
                If id_brk.Equals("0") Then
                    grid.PageSize = 10 '5
                Else
                    grid.PageSize = 15
                End If    
                grid.DataBind() 
            End Sub 
        #End Region
        
        #Region "Fill Broker Dropdown"    
            Private Sub SetBrokerIDsDropDownIx()
                Dim allIdList As String = String.Empty
                Dim brokerArrayList As New ArrayList    
                Try                     
                    brokerArrayList.Add("05645")
                    brokerArrayList.Add("03345")
                    brokerArrayList.Add("02146")
                    brokerArrayList.Add("04146")
                    brokerArrayList.Add("06845")
                    brokerArrayList.Add("05845")
                    brokerArrayList.Add("09845")
                    brokerArrayList.Add("99999")
                    brokerArrayList.Add("88972")
                    brokerArrayList.Add("89806")
                    If IsNothing(brokerArrayList.ToArray()) Or (brokerArrayList.Count = 0) Then
                        lblErrorMessage.Visible = True
                        Exit Sub
                    Else
                        lblErrorMessage.Visible = False
                    End If
                    brokerArrayList.Sort()    
                    'Session.Item("BrokerArray") = brokerArrayList
                    allIdList = Get_ArrayList_String(brokerArrayList)
                    'Add broker ids to dropdown
                    BrokerID.Items.Add("All")
                    BrokerID.SelectedIndex = 0
                    BrokerID.Items(0).Value = allIdList
                    Dim ID As String
                    For Each ID In brokerArrayList
                        BrokerID.Items.Add(ID)
                    Next ID
                Catch ex As Exception
                    BAZ.Logs.WebLog.LogException(ex, "There are no Broker Numbers associated with this report.")
                End Try
        
            End Sub
        
            Private Function Get_ArrayList_String(ByVal brokerArray As ArrayList)
                Dim brokerArrayStr As String
                brokerArrayStr = String.Empty
                Dim brokerID As String
                For Each brokerID In brokerArray
                    If brokerArrayStr.Length = 0 Then
                        brokerArrayStr = brokerID
                    Else
                        brokerArrayStr = brokerArrayStr & "," & brokerID
                    End If
        
                Next brokerID
        
                Get_ArrayList_String = brokerArrayStr
        
            End Function
        #End Region
        #Region "Report Navigation Logic"    
            Private Sub lbtnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbtnPrev.Click
                CurrentPage -= 1
                GenerateReport()
            End Sub    
            Private Sub lbtnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbtnNext.Click
                CurrentPage += 1
                GenerateReport()
            End Sub    
            Private Sub lbtnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbtnFirst.Click
                CurrentPage = 0
                GenerateReport()
            End Sub
        
            Private Sub lbtnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbtnLast.Click
                CurrentPage = obj.PageCount - 1
                GenerateReport()
        
            End Sub    
        #End Region    
        End Class

    Friday, August 24, 2012 9:52 PM