首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

自定义分页有关问题

2011-12-21 
自定义分页问题请先看下面的页面和后台代码:tabletrtdasp:datagridid MyDataGrid runat serve

自定义分页问题
请先看下面的页面和后台代码:
<table>
                        <tr>
                                <td>
                                        <asp:datagrid   id= "MyDataGrid "   runat= "server "   AutoGenerateColumns= "False "   AllowCustomPaging= "false "   HorizontalAlign= "Center "   AlternatingItemStyle-BackColor= "#eeeeee "   HeaderStyle-BackColor= "#aaaadd "   Font-Size= "8pt "   Font-Names= "Verdana "   CellSpacing= "0 "   CellPadding= "3 "   GridLines= "Both "   BorderWidth= "1 "   BorderColor= "black "   OnPageIndexChanged= "MyDataGrid_Page "   PagerStyle-HorizontalAlign= "Right "PagerStyle-Mode= "NumericPages "   PageSize= "5 "   AllowPaging= "True ">
                                                <AlternatingItemStyle   BackColor= "#EEEEEE "> </AlternatingItemStyle>
                                                <HeaderStyle   BackColor= "#AAAADD "   Font-Bold= "True "   HorizontalAlign= "Center "> </HeaderStyle>
                                                <PagerStyle   HorizontalAlign= "Right "   Mode= "NumericPages "   Visible= "False "> </PagerStyle>
                                                <Columns>
                                                        <asp:BoundColumn   HeaderText= "标题 "   DataField= "d_Name "   HeaderStyle-Width= "100px "> </asp:BoundColumn>
                                                        <asp:BoundColumn   HeaderText= "描述 "   DataField= "d_Description "   HeaderStyle-Width= "100px "> </asp:BoundColumn>
                                                </Columns>
                                        </asp:datagrid>
                                </td>
                        </tr>
                        <tr>


                                <td>
                                        <p   style= "FONT-SIZE:9pt "   align= "center ">
                                                <asp:Label   ID= "lblPageCount "   runat= "server "> </asp:Label> &nbsp;
                                                <asp:Label   ID= "lblCurrentIndex "   runat= "server "> </asp:Label>
                                                <asp:LinkButton   ID= "btnFirst "   runat= "server "   Font-Names= "verdana "   Font-size= "8pt "   ForeColor= "navy "   CommandArgument= "first "   CommandName= "PagerButton "> </asp:LinkButton> &nbsp;
                                                <asp:LinkButton   ID= "btnPrev "   runat= "server "   Font-Names= "verdana "   Font-size= "8pt "   ForeColor= "navy "   CommandArgument= "prev "   CommandName= "PagerButton "> </asp:LinkButton> &nbsp;
                                                <asp:LinkButton   ID= "btnNext "   runat= "server "   Font-Names= "verdana "   Font-size= "8pt "   ForeColor= "navy "   CommandArgument= "next "   CommandName= "PagerButton "> </asp:LinkButton> &nbsp;
                                                <asp:LinkButton   ID= "btnLast "   runat= "server "   Font-Names= "verdana "   Font-size= "8pt "   ForeColor= "navy "   CommandArgument= "last "   CommandName= "PagerButton "> </asp:LinkButton>
                                        </p>
                                </td>
                        </tr>
                </table>

public   partial   class   _Default   :   System.Web.UI.Page
        {
                private   SqlConnection   cn   =   new   SqlConnection();
                protected   void   Page_Load(object   sender,   EventArgs   e)


                {
                        btnFirst.Text   =   "首     页 ";
                        btnPrev.Text   =   "上一页 ";
                        btnNext.Text   =   "下一页 ";
                        btnLast.Text   =   "尾     页 ";
                        OpenDatabase();
                        BindGrid();
                }
                private   void   OpenDatabase()
                {
                        cn.ConnectionString   =   @ "server=.\sqlexpress;Integrated   Security=SSPI;database=DBTengYou ";
                        cn.Open();
                }
                private   void   ShowStats()
                {
                        lblCurrentIndex.Text   =   "第   "   +   Convert.ToString((MyDataGrid.CurrentPageIndex   +   1))   +   "   页 ";
                        lblPageCount.Text   =   "总共   "   +   MyDataGrid.PageCount.ToString()   +   "   页 ";
                }
                public   void   PagerButtonClick(object   sender,   EventArgs   e)
                {
                        string   arg   =   ((LinkButton)sender).CommandArgument.ToString();
                        switch   (arg)
                        {
                                case   "first ":
                                {
                                        MyDataGrid.CurrentPageIndex   =   0;
                                        break;
                                }
                                case   "next ":
                                {


                                        if   (MyDataGrid.CurrentPageIndex   <   (MyDataGrid.PageCount   -   1))
                                        {
                                                MyDataGrid.CurrentPageIndex   +=   1;
                                        }
                                        break;
                                }
                                case   "prev ":
                                {
                                        if   (MyDataGrid.CurrentPageIndex   >   0)
                                        {
                                                MyDataGrid.CurrentPageIndex   -=   1;
                                        }
                                        break;
                                }
                                case   "last ":
                                {
                                        MyDataGrid.CurrentPageIndex   =   MyDataGrid.PageCount   -   1;
                                        break;
                                }
                                default:
                                {
                                        MyDataGrid.CurrentPageIndex   =   Convert.ToInt32(arg);
                                        break;


                                }
                        }
                        BindGrid();
                        ShowStats();
                }
                public   void   BindGrid()
                {
                        SqlConnection   myConnection   =   cn;
                        DataSet   ds   =   new   DataSet();
                        SqlDataAdapter   adapter   =   new   SqlDataAdapter( "select   d_Name,d_Description   from   Dimensionality ",   myConnection);
                        adapter.Fill(ds,   "Dimensionality ");
                        MyDataGrid.DataSource   =   ds.Tables[ "Dimensionality "].DefaultView;
                        MyDataGrid.DataBind();
                        ShowStats();
                }
                public   void   MyDataGrid_Page(object   sender,   DataGridPageChangedEventArgs   e)
                {
                        int   startIndex   =   0;
                        startIndex   =   MyDataGrid.CurrentPageIndex   *   MyDataGrid.PageSize;
                        MyDataGrid.CurrentPageIndex   =   e.NewPageIndex;
                        BindGrid();
                        ShowStats();
                }
        }
现在的问题是:当我点击linkbutton按钮后不能翻页。我调试了下,点击linkbutton后不会触发public   void   PagerButtonClick(object   sender,   EventArgs   e)这个事件,不知道是为什么?请知道的朋友帮我解答下,在线等,先谢谢了

[解决办法]
你的 PagerButtonClick 是什么方法?
你可以用linkbutton的onclick方法,在onclick方法里调用PagerButtonClick

热点排行