|
源代码网推荐
--注: 由于是代码的总结,所以文字比较少。
前台
<asp:Label ID="tplb" runat="server" Text="总页数:"></asp:Label><asp:Label ID="lblPageCount" runat="server" Text=""></asp:Label> <asp:Label ID="curLabel" runat="server" Text="当前页:"></asp:Label><asp:Label ID="lblPage" Text="1" runat="server"></asp:Label> <asp:LinkButton ID="lblFirstButton" runat="server" OnClick="lblFirstButton_Click" >|<</asp:LinkButton> <asp:LinkButton ID="lblPreButton" runat="server" OnClick="lblPreButton_Click" ><</asp:LinkButton> <asp:LinkButton ID="lblNextButton" runat="server" OnClick="lblNextButton_Click" >></asp:LinkButton> <asp:LinkButton ID="lblLastButton" runat="server" OnClick="lblLastButton_Click" >>|</asp:LinkButton> <asp:DropDownList ID="ddlPage" runat="server" Width="40px" AutoPostBack="True" OnSelectedIndexChanged="ddlPage_SelectedIndexChanged"> <asp:ListItem>10</asp:ListItem> <asp:ListItem>15</asp:ListItem> <asp:ListItem>20</asp:ListItem> <asp:ListItem>30</asp:ListItem> </asp:DropDownList> <asp:Label ID="PageSizeLabel" runat="server" Text="条/页"></asp:Label>
后台
#region分页
protected void BindFollowExamInfoGridView(int PersonID) { int currentpage = Convert.ToInt32(lblPage.Text); DataTable dt = new DataTable(); dt = feibf.GetByPersonIDFollowExamInfo(PersonID); //查询指定人的随访信息记录 if (dt.Rows.Count > 0) { FollowExamInfoGridView.DataSource = dt; FollowExamInfoGridView.DataBind(); PagedDataSource ps = new PagedDataSource(); ps.DataSource = dt.DefaultView; ps.AllowPaging = true; ps.PageSize = Convert.ToInt32(ddlPage.SelectedValue); lblPageCount.Text = ps.PageCount.ToString(); this.lblPreButton.Enabled = true; this.lblNextButton.Enabled = true; ps.CurrentPageIndex = currentpage - 1; if (currentpage == 1) { this.lblPreButton.Enabled = false; this.lblFirstButton.Enabled = false; } else { this.lblPreButton.Enabled = true; this.lblFirstButton.Enabled = true; } if (currentpage == ps.PageCount) { this.lblNextButton.Enabled = false; this.lblLastButton.Enabled = false; } else { this.lblNextButton.Enabled = true; this.lblLastButton.Enabled = true; } FollowExamInfoGridView.DataSource = ps; FollowExamInfoGridView.DataBind(); } } protected void lblPreButton_Click(object sender, EventArgs e) { this.lblPage.Text = Convert.ToString(Convert.ToUInt32(lblPage.Text) - 1); BindFollowExamInfoGridView(Convert.ToInt32(Request.QueryString["PersonID"])); } protected void lblNextButton_Click(object sender, EventArgs e) { this.lblPage.Text = Convert.ToString(Convert.ToUInt32(lblPage.Text) + 1); BindFollowExamInfoGridView(Convert.ToInt32(Request.QueryString["PersonID"])); } protected void lblFirstButton_Click(object sender, EventArgs e) { this.lblPage.Text = "1"; BindFollowExamInfoGridView(Convert.ToInt32(Request.QueryString["PersonID"])); } protected void lblLastButton_Click(object sender, EventArgs e) { this.lblPage.Text = lblPageCount.Text; BindFollowExamInfoGridView(Convert.ToInt32(Request.QueryString["PersonID"])); } protected void ddlPage_SelectedIndexChanged(object sender, EventArgs e) { lblPage.Text = "1"; BindFollowExamInfoGridView(Convert.ToInt32(Request.QueryString["PersonID"])); } #endregion
排序
Allowsort = “true” sortExpression = “ID” DataView dv = SortBindGrid(dt); #region排序 protected void FollowExamInfoGridView_Sorting(object sender, GridViewSortEventArgs e) { ViewState["sortexpression"] = e.SortExpression; if (ViewState["sortdirection"] == null) { ViewState["sortdirection"] = "asc"; } else { if (ViewState["sortdirection"].ToString() == "asc") { ViewState["sortdirection"] = "desc"; } else { ViewState["sortdirection"] = "asc"; } } BindFollowExamInfoGridView(Convert.ToInt32(HiddenPersonID.Value)); } public DataView SortBindGrid(DataTable table) { if (table != null) { DataView dv = table.DefaultView; if (ViewState["sortexpression"] != null && ViewState["sortdirection"] != null) { dv.Sort = ViewState["sortexpression"].ToString() + " " + ViewState["sortdirection"].ToString(); } return dv; } else { return null; } } #endregion
-------------------------------------------------------自带分页
#region自带分页
protected void FollowExamInfoGridView_PageIndexChanging(object sender, GridViewPageEventArgs e) { FollowExamInfoGridView.PageIndex = e.NewPageIndex; BindFollowExamInfoGridView(Convert.ToInt32(HiddenPersonID.Value)); } #endregion
选中Grid View 的实现
#region实现选中行
<SelectedRowStyle BackColor="AliceBlue" ForeColor="Gray" /> <asp:CommandField ShowSelectButton="True"/> if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onclick", "this.cells[0].childNodes[0].click()"); } protected void GridViewRegiment_SelectedIndexChanged(object sender, EventArgs e) { GridViewRow row = GridViewRegiment.SelectedRow; int RegimentID = Convert.ToInt32(row.Cells[1].Text); Response.Redirect("UpdateRegimentation.aspx?RegimentID=" + RegimentID); } #endregion
显示颜色和删除 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { //int i; //for (i = 0; i < GridViewRegiment.Rows.Count; i++) //{ if (e.Row.RowType == DataControlRowType.DataRow) { //当有编辑列时,避免出错,要加的RowState判断 if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) { ((ImageButton)e.Row.Cells[2].FindControl("IBtndelete")).Attributes.Add("onclick", "javascript:return confirm("你确认要删除:"" + e.Row.Cells[0].Text + ""吗?")"); } e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor="#00A9FF""); e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor="#E6F5FA""); } //} }
源代码网供稿. |