FormView自定义分页

通过设置 PagerTemplate 属性实现自定义分页。此方法对于GridView和Detailview同样适用。

数据分页模板

如果将 FormView 控件的 AllowPaging 属性设置为 true,则 FormView 控件可自动添加用于分页的用户界面 (UI) 控件。可以通过添加 PagerTemplate 模板来自定义用于分页的用户界面。若要指定执行哪个分页操作,请向此模板添加一个 Button 控件,然后将其 CommandName 属性设置为 Page,并将其 CommandArgument 属性设置为下列值之一:

  • First   定位到第一页。

  • Last   定位到最后一页。

  • Prev   定位到上一页。

  • Next   定位到下一页数据

  • 一个数字   指示特定的页。

示例代码:

< asp:FormView  ID ="FormView1"  runat ="server"  DataKeyNames ="OrderNo"  DataSourceID ="SqlDataSource1"
            Style
="position: static"  AllowPaging ="true" >
            
< EditItemTemplate >
                OrderNo:
                
< asp:Label  ID ="OrderNoLabel1"  runat ="server"  Text ='<%#  Eval("OrderNo") % > '> </ asp:Label >< br  />
                CustID:
                
< asp:TextBox  ID ="CustIDTextBox"  runat ="server"  Text ='<%#  Bind("CustID") % > '>
                
</ asp:TextBox >< br  />
                ContactMan:
                
< asp:TextBox  ID ="ContactManTextBox"  runat ="server"  Text ='<%#  Bind("ContactMan") % > '>
                
</ asp:TextBox >< br  />
                Tel:
                
< asp:TextBox  ID ="TelTextBox"  runat ="server"  Text ='<%#  Bind("Tel") % > '>
                
</ asp:TextBox >< br  />
                InDate:
                
< asp:TextBox  ID ="InDateTextBox"  runat ="server"  Text ='<%#  Bind("InDate") % > '>
                
</ asp:TextBox >< br  />
                
< asp:LinkButton  ID ="UpdateButton"  runat ="server"  CausesValidation ="True"  CommandName ="Update"
                    Text
="更新" >
                
</ asp:LinkButton >
                
< asp:LinkButton  ID ="UpdateCancelButton"  runat ="server"  CausesValidation ="False"  CommandName ="Cancel"
                    Text
="取消" >
                
</ asp:LinkButton >
            
</ EditItemTemplate >
            
< InsertItemTemplate >
                OrderNo:
                
< asp:TextBox  ID ="OrderNoTextBox"  runat ="server"  Text ='<%#  Bind("OrderNo") % > '>
                
</ asp:TextBox >< br  />
                CustID:
                
< asp:TextBox  ID ="CustIDTextBox"  runat ="server"  Text ='<%#  Bind("CustID") % > '>
                
</ asp:TextBox >< br  />
                ContactMan:
                
< asp:TextBox  ID ="ContactManTextBox"  runat ="server"  Text ='<%#  Bind("ContactMan") % > '>
                
</ asp:TextBox >< br  />
                Tel:
                
< asp:TextBox  ID ="TelTextBox"  runat ="server"  Text ='<%#  Bind("Tel") % > '>
                
</ asp:TextBox >< br  />
                InDate:
                
< asp:TextBox  ID ="InDateTextBox"  runat ="server"  Text ='<%#  Bind("InDate") % > '>
                
</ asp:TextBox >< br  />
                
< asp:LinkButton  ID ="InsertButton"  runat ="server"  CausesValidation ="True"  CommandName ="Insert"
                    Text
="插入" >
                
</ asp:LinkButton >
                
< asp:LinkButton  ID ="InsertCancelButton"  runat ="server"  CausesValidation ="False"  CommandName ="Cancel"
                    Text
="取消" >
                
</ asp:LinkButton >
            
</ InsertItemTemplate >
            
< ItemTemplate >
                OrderNo:
                
< asp:Label  ID ="OrderNoLabel"  runat ="server"  Text ='<%#  Eval("OrderNo") % > '> </ asp:Label >< br  />
                CustID:
                
< asp:Label  ID ="CustIDLabel"  runat ="server"  Text ='<%#  Bind("CustID") % > '> </ asp:Label >< br  />
                ContactMan:
                
< asp:Label  ID ="ContactManLabel"  runat ="server"  Text ='<%#  Bind("ContactMan") % > '>
                
</ asp:Label >< br  />
                Tel:
                
< asp:Label  ID ="TelLabel"  runat ="server"  Text ='<%#  Bind("Tel") % > '> </ asp:Label >< br  />
                InDate:
                
< asp:Label  ID ="InDateLabel"  runat ="server"  Text ='<%#  Bind("InDate") % > '> </ asp:Label >< br  />
            
</ ItemTemplate >
            
< PagerTemplate >
                
< asp:LinkButton  CommandName ="Page"  CommandArgument ="First"  ID ="LBFirst"  runat ="server"   > &lt;&lt; First </ asp:LinkButton >
                
< asp:LinkButton  CommandName ="Page"  CommandArgument ="Prev"  ID ="LBPrev"  runat ="server"   > &lt; Prev </ asp:LinkButton >
                [Records 
<% = FormView1.PageIndex  +   1 %>  of  <% = FormView1.PageCount.ToString()  %> ]
                
< asp:LinkButton  CommandName ="Page"  CommandArgument ="Next"  ID ="LBNext"  runat ="server"   > Next &gt; </ asp:LinkButton >
                
< asp:LinkButton  CommandName ="Page"  CommandArgument ="Last"  ID ="LBLast"  runat ="server"   > Last &gt;&gt; </ asp:LinkButton >                   
            
</ PagerTemplate >
        
</ asp:FormView >

另外在GridView的PagerTemplate中自定义的按钮的使用,这里要注意的一点是,PagerTempate模板中按钮的命令必须以脚本的形式实现,而不能使用后台代码,具体可能有别的方法,如果谁知道,可以告诉小弟一下,谢谢。

代码如下:

 

<% @ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2"  %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< script  runat ="server" >
        
void btnComm_Click(object sender, EventArgs e)
        
{
            
////switch (e.CommandName)
            //{
            //    case "Submit":
                    Response.Write("Hello World!");
            
//        break;
            //}
        }
    
    
</ script >
    
< title > 无标题页 </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        
< asp:GridView  ID ="GridView1"  runat ="server"  AllowPaging ="True"  AutoGenerateColumns ="False"
            DataKeyNames
="CustomerID"  DataSourceID ="SqlDataSource1"  Style ="position: static"  PageSize ="5"  OnSelectedIndexChanged ="GridView1_SelectedIndexChanged" >
            
< Columns >
                
< asp:BoundField  DataField ="CustomerID"  HeaderText ="CustomerID"  ReadOnly ="True"  SortExpression ="CustomerID"   />
                
< asp:BoundField  DataField ="CompanyName"  HeaderText ="CompanyName"  SortExpression ="CompanyName"   />
                
< asp:BoundField  DataField ="ContactName"  HeaderText ="ContactName"  SortExpression ="ContactName"   />
                
< asp:BoundField  DataField ="ContactTitle"  HeaderText ="ContactTitle"  SortExpression ="ContactTitle"   />
                
< asp:BoundField  DataField ="Address"  HeaderText ="Address"  SortExpression ="Address"   />
                
< asp:BoundField  DataField ="City"  HeaderText ="City"  SortExpression ="City"   />
                
< asp:BoundField  DataField ="Region"  HeaderText ="Region"  SortExpression ="Region"   />
                
< asp:BoundField  DataField ="PostalCode"  HeaderText ="PostalCode"  SortExpression ="PostalCode"   />
                
< asp:BoundField  DataField ="Country"  HeaderText ="Country"  SortExpression ="Country"   />
                
< asp:BoundField  DataField ="Phone"  HeaderText ="Phone"  SortExpression ="Phone"   />
                
< asp:BoundField  DataField ="Fax"  HeaderText ="Fax"  SortExpression ="Fax"   />
            
</ Columns >
            
< PagerTemplate >
                
< asp:Button  CommandName ="Page"  CommandArgument ="First"  Text ="First"  runat ="server"  ID ="btnFirt"   />
                
< asp:Button  CommandName ="Page"  CommandArgument ="Prev"  Text ="Prev"  runat ="server"  ID ="btnPrev"   />
                
< asp:Button  CommandName ="Page"  CommandArgument ="Next"  Text ="Next"  runat ="server"  ID ="btnNext"   />
                
< asp:Button  CommandName ="Page"  CommandArgument ="Last"  Text ="Last"  runat ="server"  ID ="btnLast"   />
                
< asp:Button  ID ="btnComm"   Text ="Comm"  runat ="server"  OnClick ="btnComm_Click"   />
            
</ PagerTemplate >
        
</ asp:GridView >
        
< asp:SqlDataSource  ID ="SqlDataSource1"  runat ="server"  ConnectionString ="<%$ ConnectionStrings:NorthwindConnectionString %>"
            SelectCommand
="SELECT * FROM [Customers]" ></ asp:SqlDataSource >
    
</ div >
    
</ form >
</ body >
</ html >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值