简单的GridView分业,后台不需要写

1前台代码:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True"  onpageindexchanging="GridView1_PageIndexChanging" 
            AutoGenerateColumns="False" onrowcommand="GridView1_RowCommand" onrowdatabound="GridView1_RowDataBound">   
        <Columns>
        <asp:TemplateField HeaderText="表单号">
         <ItemTemplate>
          <%#Eval("FormNum")%>
         </ItemTemplate>    
        </asp:TemplateField>
        <asp:TemplateField HeaderText="项目经理">
        <ItemTemplate>
         <%#Eval("PMName")%>
        </ItemTemplate>
        </asp:TemplateField>      
        </Columns>
<PagerTemplate> <asp:Label ID="lblPage" runat="server" Text='<%#(((GridView)Container.NamingContainer).PageIndex+1)+"/"+(((GridView)Container.NamingContainer).PageCount) %>'></asp:Label> <asp:LinkButton ID="lbnFirst" runat="server" Text="首页" Enabled='<%#((GridView)Container.NamingContainer).PageIndex!=0%>' CommandName="Page" CommandArgument="First"></asp:LinkButton> <asp:LinkButton ID="lbnPrev" runat="server" Text="上一页" Enabled='<%#((GridView)Container.NamingContainer).PageIndex!=0%>' CommandName="Page" CommandArgument="Prev"></asp:LinkButton> <asp:LinkButton ID="lbnNext" runat="server" Text="下一页" Enabled='<%#((GridView)Container.NamingContainer).PageIndex!=(((GridView)Container.NamingContainer).PageCount-1)%>' CommandName="Page" CommandArgument="Next"></asp:LinkButton> <asp:LinkButton ID="lbnLast" runat="server" Text="尾页" Enabled='<%#((GridView)Container.NamingContainer).PageIndex!=(((GridView)Container.NamingContainer).PageCount-1)%>' CommandName="Page" CommandArgument="Last"></asp:LinkButton> 到第<asp:TextBox ID="inPageNum" runat="server" Width="80px"></asp:TextBox>页   <asp:Button ID="Button1" runat="server" Text="Go" CommandName="Go" Width="50px" Height="20px" /> </PagerTemplate> </asp:GridView>

 2、后台代码

 static DataTable table = null;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Bind();
            }
        }
        public void Bind()
        {
            GridView1.DataSource = Select();
            GridView1.DataBind();
        }
        public DataTable Select()
        {
            string sql = "select FormNum,PMName from v_Guru_Product_License_Applied ";
            return DbHelper.Instance.CreateDataTable(CommandType.Text, sql);
        }

        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            try
            {
                GridView1.PageIndex = e.NewPageIndex;
                if (table == null)
                {
                    Bind();
                }
                else
                {
                    GridView1.DataSource = table;
                    GridView1.DataBind();
                }
                TextBox tb = (TextBox)GridView1.BottomPagerRow.FindControl("inPageNum");
                tb.Text = (GridView1.PageIndex + 1).ToString();
            }
            catch { }
        }

        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            int i;
            for (i = 0; i <= GridView1.Rows.Count; i++)
            {
                if (e.Row.RowType == DataControlRowType.DataRow) //首先判断是否是数据行
                {
                    //当鼠标停留时更改背景色
                    e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#BBA1E0'");
                    //当鼠标移开时还原背景色
                    e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
                    //单击行的任意列会自动选中此行
                    e.Row.Attributes.Add("onclick", "__doPostBack('GridView1','Select$" + e.Row.RowIndex + "')");
                }
            }
        }

        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Go")//跳转
            {
                try
                {
                    TextBox tb = (TextBox)GridView1.BottomPagerRow.FindControl("inPageNum");
                    int num = int.Parse(tb.Text);
                    GridViewPageEventArgs ea = new GridViewPageEventArgs(num - 1);
                    GridView1_PageIndexChanging(null, ea);
                }
                catch { }
            }
        }
    }

 

posted @ 2014-08-20 15:45  shzhq  阅读(211)  评论(0编辑  收藏  举报