semye-静心

积累,点点滴滴
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2007-01-09 13:07  semye  阅读(1032)  评论(1)    收藏  举报
  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>