DATAGRID分页,增加首页、最后一页(源码)

1/10/2007来源:ASP.NET技巧人气:10906

1        PRivate void PageCut_Click(Object sender,System.EventArgs  e)
  2        {
  3            //取页码跳转标志(上一页,下一页)
  4            String commangArg = ((LinkButton)sender).CommandArgument ;
  5            switch(commangArg)
  6            {
  7                    //第一页
  8                case "First":
  9                {
 10                    DG_ZONE_CONTENT.CurrentPageIndex = 0;
 11                    break;
 12                }
 13                    //上一页
 14                case "Prev":
 15                {
 16                    DG_ZONE_CONTENT.CurrentPageIndex = (int)Math.Max(0,DG_ZONE_CONTENT.CurrentPageIndex - 1);
 17                    break;
 18                }
 19                    //下一页
 20                case "Next":
 21                {
 22                    DG_ZONE_CONTENT.CurrentPageIndex = (int)Math.Min(DG_ZONE_CONTENT.PageCount-1,DG_ZONE_CONTENT.CurrentPageIndex +1);
 23                    break;
 24                }
 25                    //最后一页
 26                case "Last":
 27                {
 28                    DG_ZONE_CONTENT.CurrentPageIndex  = DG_ZONE_CONTENT.PageCount -1;
 29                    break;
 30                }
 31                default:{break;}
 32            }
 33           
 34            this.Binder(this.TXT_SEARCH_NAME.Text.Trim().ToUpper(),this.TXT_SEARCH_CD.Text.Trim().ToUpper());       
 35            //控制页面导向按钮的可见性
 36      IsFirstLastPage();
 37        }
 38        /**//// <summary>
 39        /// 控制页面导向按钮的可见性
 40        /// </summary>
 41        private void IsFirstLastPage()
 42        {
 43            if(DG_ZONE_CONTENT.PageCount > 0)
 44            {
 45                PageFirst.Visible = true;
 46                PageLast.Visible = true;
 47                PageNext.Visible = true;
 48                PagePrev.Visible = true;
 49
 50                if(DG_ZONE_CONTENT.PageCount != 1)
 51                {
 52                    if(DG_ZONE_CONTENT.CurrentPageIndex == 0)
 53                    {
 54                        PagePrev.Enabled = false;
 55                    }
 56                    else
 57                    {
 58                        PagePrev.Enabled = true;
 59                    }
 60                    if(DG_ZONE_CONTENT.CurrentPageIndex == DG_ZONE_CONTENT.PageCount -1)
 61                    {
 62                        PageNext.Enabled = false;
 63                    }
 64                    else
 65                    {
 66                        PageNext.Enabled = true;
 67                    }
 68                }
 69                else
 70                {
 71                    PagePrev.Enabled = false;
 72                    PageNext.Enabled = false;
 73                }
 74            }
 75            else
 76            {
 77                PageFirst.Visible = false;
 78                PageLast.Visible = false;
 79                PageNext.Visible = false;
 80                PagePrev.Visible = false;
 81               
 82            }
 83        }
 84        private void Binder(string zone,string city)
 85        {
 86            bl = new ZoneConten();
 87            DataTable dt = new DataTable();
 88            if(zone==""&&city=="")
 89            {
 90                dt= bl.ZoneRev("ZONE_INFO");
 91            }
 92            else
 93            {
 94                dt = bl.zoneSea(zone,city);
 95            }
 96            this.DG_ZONE_CONTENT.DataSource = dt;
 97            this.DG_ZONE_CONTENT.DataBind();
 98            if(dt!=null)
 99            {
100                if(dt.Rows.Count>0)
101                {
102                    int nTotalCode = dt.Rows.Count;
103                    //int nTotalPage = nTotalCode/10;
104                    //                if(nTotalCode%10>0)
105                    //                {nTotalPage=nTotalPage+1;}
106                    //                int a = 0;
107                    //this.LBL_TOTAL.Text=nTotalPage.ToString();
108                    this.LBL_TOTAL.Text = nTotalCode.ToString();
109                    int nNow = this.DG_ZONE_CONTENT.CurrentPageIndex+1;
110                    this.LBL_NOW.Text=nNow.ToString();
111                }
112            }
113            else
114            {
115                this.LBL_TOTAL.Text = "0";
116                this.LBL_NOW.Text="1";
117            }
118            this.IsFirstLastPage();
119        }
120

                                                            <asp:datagrid id="DG_ZONE_CONTENT" runat="server" Width="792px" GridLines="Horizontal" AutoGenerateColumns="False"
                                                                AllowPaging="True" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White"
                                                                CellPadding="4">
                                                                <SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
                                                                <ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
                                                                <HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#99CCFF"></HeaderStyle>
                                                                <FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
                                                                <Columns>
                                                                    <asp:TemplateColumn HeaderText="行区代码">
                                                                        <HeaderStyle Width="60px"></HeaderStyle>
                                                                        <ItemTemplate>
                                                                            <%#DataBinder.Eval(Container,"DataItem.ZONE_CD") %>
                                                                            <asp:TextBox id=TXT_ZONE_CD_VIS runat="server" Width="58px" Height="20px" Visible="false" text='<%#DataBinder.Eval(Container,"DataItem.ZONE_CD")%>'>
                                                                            </asp:TextBox>
                                                                        </ItemTemplate>
                                                                    </asp:TemplateColumn>
                                                                    <asp:TemplateColumn HeaderText="行区名">
                                                                        <HeaderStyle Width="100px"></HeaderStyle>
                                                                        <ItemTemplate>
                                                                            <%# DataBinder.Eval(Container,"DataItem.AERA_NAME")%>
                                                                            <asp:TextBox id=TXT_ZONE_NAME_VIS runat="server" Width="164px" Visible="False" Text='<%# DataBinder.Eval(Container,"DataItem.AERA_NAME")%>'>
                                                                            </asp:TextBox>
                                                                        </ItemTemplate>
                                                                    </asp:TemplateColumn>
                                                                    <asp:TemplateColumn HeaderText="城市代码">
                                                                        <HeaderStyle Width="200px"></HeaderStyle>
                                                                        <ItemTemplate>
                                                                            <%# DataBinder.Eval(Container,"DataItem.CITY")%>
                                                                            <asp:TextBox id=TXT_ZONE_CITY_VIS runat="server" Width="135px" Visible="False" Text='<%# DataBinder.Eval(Container,"DataItem.CITY")%>'>
                                                                            </asp:TextBox>
                                                                        </ItemTemplate>
                                                                    </asp:TemplateColumn>
                                                                    <asp:ButtonColumn Text="修改" CommandName="Select">
                                                                        <HeaderStyle Width="100px"></HeaderStyle>
                                                                    </asp:ButtonColumn>
                                                                    <asp:ButtonColumn Text="删除" CommandName="Delete">
                                                                        <HeaderStyle Width="50px"></HeaderStyle>
                                                                    </asp:ButtonColumn>
                                                                </Columns>
                                                                <PagerStyle Visible="false" HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
                                                            </asp:datagrid>
                                                        </td>
                                                    </tr>
                                                    <tr>
                                                        <td>
                                                            <asp:linkbutton id="PageFirst" Runat="server" CSSClass="Normal" Text="首页" CommandArgument="First"></asp:linkbutton>&nbsp;
                                                            <asp:linkbutton id="PagePrev" Runat="server" CssClass="Normal" Text="上一页" CommandArgument="Prev"></asp:linkbutton>&nbsp;
                                                            <asp:linkbutton id="PageNext" runat="server" CssClass="Normal" Text="下一页" CommandArgument="Next"></asp:linkbutton>&nbsp;
                                                            <asp:linkbutton id="PageLast" Runat="server" CssClass="Normal" Text="最后一页" CommandArgument="Last"></asp:linkbutton>&nbsp;
                                                            共<asp:label id="LBL_TOTAL" runat="server">Label</asp:label>&nbsp;条记录,当前第
                                                            <asp:label id="LBL_NOW" runat="server">Label</asp:label>&nbsp;页
                                                        </td>
                                                    </tr>
http://www.cnblogs.com/semye/archive/2007