Gridview各種功能+AspNetPager+Ajax實現無重新整理預存程序分頁

來源:互聯網
上載者:User

預存程序:

    GetProductsCount1:

                                         CREATE PROCEDURE GetProductsCount1 AS
                                         select count(*) from test
                                         GO

     GetProductsByPage:

                                         CREATE PROCEDURE GetProductsByPage
                                         @PageNumber int,
                                         @PageSize int
                                         AS
                                        declare @sql nvarchar(4000)
                                       set @sql = 'select top ' + Convert(varchar, @PageSize)   + ' * from test where id not in (select top ' + Convert(varchar, (@PageNumber - 1) * @PageSize)  + ' id from test)'
         exec sp_executesql @sql
GO

 

前台代碼:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><br /><%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %><br /><%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"<br /> Namespace="System.Web.UI" TagPrefix="asp" %><br /><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml" ><br /><head runat="server"><br /> <title>無標題頁</title><br /> <mce:style type="text/css"><!--<br /> .lbtnstyle{<br /> font-size: 12px; color: black; text-decoration: none;color:red;<br /> }<br /> .anpager .cpb {background:#1F3A87 none repeat scroll 0 0;border:1px solid #CCCCCC;color:#FFFFFF;font-weight:bold;margin:5px 4px 0 0;padding:4px 5px 0;font-size:12px}<br /> .anpager a {background:#FFFFFF none repeat scroll 0 0;border:1px solid #CCCCCC;color:#1F3A87;margin:5px 4px 0 0;padding:4px 5px 0;text-decoration:none;font-size:12px}<br /> .anpager a:hover{background:#1F3A87 none repeat scroll 0 0;border:1px solid #1F3A87;color:#FFFFFF;}</p><p>--></mce:style><style type="text/css" mce_bogus="1"> .lbtnstyle{<br /> font-size: 12px; color: black; text-decoration: none;color:red;<br /> }<br /> .anpager .cpb {background:#1F3A87 none repeat scroll 0 0;border:1px solid #CCCCCC;color:#FFFFFF;font-weight:bold;margin:5px 4px 0 0;padding:4px 5px 0;font-size:12px}<br /> .anpager a {background:#FFFFFF none repeat scroll 0 0;border:1px solid #CCCCCC;color:#1F3A87;margin:5px 4px 0 0;padding:4px 5px 0;text-decoration:none;font-size:12px}<br /> .anpager a:hover{background:#1F3A87 none repeat scroll 0 0;border:1px solid #1F3A87;color:#FFFFFF;}<br /> </style><br /></head><br /><body><br /> <form id="form1" runat="server"><br /> <div><br /> <asp:ScriptManager ID="ScriptManager1" runat="server"><br /> </asp:ScriptManager><br /> <asp:UpdatePanel ID="UpdatePanel1" runat="server"><br /> <ContentTemplate><br /> <table><br /> <tr><br /> <td width="150"><br /> <asp:TextBox ID="txtname" runat="server"></asp:TextBox><br /> </td><br /> <td width="300"><br /> <asp:Button ID="btninsert" runat="server" Text="添加行" /><br /> </td><br /> </tr><br /> <tr><br /> <td colspan="2"><br /> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="450px" CellPadding="4" ForeColor="#333333" GridLines="None" style="font-size:12px" mce_style="font-size:12px" OnRowDataBound="GridView1_RowDataBound1"><br /> <Columns><br /> <asp:TemplateField><br /> <HeaderTemplate><br /> ID<br /> </HeaderTemplate><br /> <EditItemTemplate><asp:TextBox ID="txtid" runat="server" Text='<%#Eval("id") %>' Enabled="false"></asp:TextBox></EditItemTemplate><br /> <ItemTemplate> <asp:Label ID="labid" runat="server" Text='<%# Eval("id") %>'></asp:Label></ItemTemplate><br /> <ControlStyle Width="170px" /><br /> </asp:TemplateField><br /> <asp:TemplateField><br /> <HeaderTemplate><br /> 名稱<br /> </HeaderTemplate><br /> <EditItemTemplate><asp:TextBox ID="txtname" runat="server" Text='<%#Eval("name") %>'></asp:TextBox></EditItemTemplate><br /> <ItemTemplate> <asp:Label ID="labname" runat="server" Text='<%# Eval("name") %>'></asp:Label></ItemTemplate><br /> <ControlStyle Width="170px" /><br /> </asp:TemplateField><br /> <asp:TemplateField><br /> <EditItemTemplate><br /> <asp:LinkButton ID="lbtnupdt" runat="server" CommandName="Update" Text="更新" class="lbtnstyle" OnClientClick="return confirm('確定更新?');"></asp:LinkButton><br /> <asp:LinkButton ID="lbtncan" runat="server" CommandName="Cancel" Text="取消" class="lbtnstyle"></asp:LinkButton><br /> </EditItemTemplate><br /> <ItemTemplate><br /> <asp:LinkButton ID="lbtnedit" CommandName="Edit" runat="server" Text="編輯" class="lbtnstyle" ></asp:LinkButton><br /> <asp:LinkButton ID="lbtndel" CommandName="Delete" runat="server" Text="刪除" class="lbtnstyle" OnClientClick="return confirm('確定刪除?');"></asp:LinkButton><br /> </ItemTemplate><br /> </asp:TemplateField><br /> </Columns><br /> <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /><br /> <RowStyle BackColor="#EFF3FB" /><br /> <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /><br /> <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /><br /> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /><br /> <EditRowStyle BackColor="#2461BF" /><br /> <AlternatingRowStyle BackColor="White" /><br /> </asp:GridView><br /> </td><br /> </tr><br /> <tr><br /> <td colspan="2" align="right"><br /> <webdiyer:AspNetPager ID="AspNetPager1" runat="server" CssClass="anpager" CurrentPageButtonClass="cpb" FirstPageText="首頁" LastPageText="尾頁" NextPageText="下一頁" PrevPageText="上一頁"><br /> </webdiyer:AspNetPager><br /> </td><br /> </tr><br /> </table><br /> </ContentTemplate><br /> </asp:UpdatePanel><br /> </div><br /> </form><br /></body><br /></html><br />

 

 

後台代碼:

private SqlConnection con;<br /> int currentPageNumber;//當前頁號<br /> int pageSize = 10;//每頁顯示記錄條數<br /> protected void Page_Load(object sender, EventArgs e)<br /> {<br /> if (!IsPostBack)<br /> {<br /> currentPageNumber = 1;<br /> ViewState["currentPageNumber"] = currentPageNumber;<br /> getbind();<br /> }<br /> //註冊事件<br /> GridView1.RowDeleting += new GridViewDeleteEventHandler(GridView1_RowDeleting);<br /> GridView1.RowEditing += new GridViewEditEventHandler(GridView1_RowEditing);<br /> GridView1.RowUpdating += new GridViewUpdateEventHandler(GridView1_RowUpdating);<br /> GridView1.RowCancelingEdit += new GridViewCancelEditEventHandler(GridView1_RowCancelingEdit);<br /> btninsert.Click += new EventHandler(btninsert_Click);<br /> AspNetPager1.PageChanged += new EventHandler(AspNetPager1_PageChanged);</p><p> }<br /> //分頁事件<br /> void AspNetPager1_PageChanged(object sender, EventArgs e)<br /> {<br /> currentPageNumber= AspNetPager1.CurrentPageIndex;<br /> ViewState["currentPageNumber"] = currentPageNumber;<br /> getbind();<br /> }<br /> //添加一行資料事件<br /> void btninsert_Click(object sender, EventArgs e)<br /> {<br /> string sql = "insert into test (name)values('" + txtname.Text + "')";<br /> con = new SqlConnection("Server=.;DataBase=JobWanted Apartment;Uid=sa;pwd=");<br /> SqlCommand cmd = new SqlCommand(sql, con);<br /> con.Open();<br /> cmd.ExecuteNonQuery();<br /> getbind();<br /> }<br /> //取消GridView編輯<br /> void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)<br /> {</p><p> GridView1.EditIndex = -1;<br /> getbind();<br /> }<br /> //GridView修改事件<br /> void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)<br /> {<br /> string sql = "update test set name='" + (((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtname")).Text) +"' where id='"+Convert.ToInt32(((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtid")).Text)+"' ";<br /> con = new SqlConnection("Server=.;DataBase=JobWanted Apartment;Uid=sa;pwd=");<br /> SqlCommand cmd = new SqlCommand(sql, con);<br /> con.Open();<br /> cmd.ExecuteNonQuery();<br /> GridView1.EditIndex = -1;<br /> getbind();<br /> }<br /> //GridView編輯事件<br /> void GridView1_RowEditing(object sender, GridViewEditEventArgs e)<br /> {<br /> GridView1.EditIndex = e.NewEditIndex;<br /> getbind();<br /> }<br /> //GridView刪除行事件<br /> void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)<br /> {<br /> string sql = "delete from test where id='" + Convert.ToInt32(((Label)GridView1.Rows[e.RowIndex].FindControl("labid")).Text) + "'";<br /> con = new SqlConnection("Server=.;DataBase=JobWanted Apartment;Uid=sa;pwd=");<br /> SqlCommand cmd = new SqlCommand(sql, con);<br /> con.Open();<br /> cmd.ExecuteNonQuery();<br /> getbind();<br /> }<br /> //GridView資料繫結<br /> private void getbind()<br /> {<br /> currentPageNumber =Convert.ToInt32( ViewState["currentPageNumber"]);<br /> con = new SqlConnection("Server=.;DataBase=JobWanted Apartment;Uid=sa;pwd=");<br /> SqlCommand cmd = new SqlCommand("GetProductsCount1", con);<br /> cmd.CommandType = CommandType.StoredProcedure;<br /> SqlCommand cmd1 = new SqlCommand("GetProductsByPage", con);<br /> cmd1.CommandType=CommandType.StoredProcedure;<br /> cmd1.Parameters.Add("@PageNumber", SqlDbType.Int, 4).Value = currentPageNumber;<br /> cmd1.Parameters.Add("@PageSize", SqlDbType.Int, 4).Value = pageSize;<br /> con.Open();<br /> DataTable dt = new DataTable();<br /> SqlDataAdapter adapter = new SqlDataAdapter(cmd1);<br /> adapter.Fill(dt);<br /> //AspNetPager1.PageSize = 10;//設定每頁顯示的行數<br /> AspNetPager1.RecordCount = (int)cmd.ExecuteScalar();//得出總的記錄條數<br /> AspNetPager1.CurrentPageIndex = currentPageNumber;<br /> GridView1.DataSource = dt;<br /> GridView1.DataBind();<br /> }<br /> //GridView高亮行顯示<br /> protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)<br /> {<br /> if (e.Row.RowType == DataControlRowType.DataRow)<br /> {<br /> e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor,this.style.backgroundColor='#C7DEF3'");<br /> e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");<br /> }<br /> }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.