asp.net的GridView控件使用方法大全_.Net教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
推荐:ASP.NET站点RSS功能实现方法RSS也称聚合,通常被用于新闻和Blog中,是基于XML的一种形式,网站提供RSS输出,有利于让用户发现网站内容的更新,并在不打开网站页面的情况下阅读内容。 下面是如何使用ASP.NET实现该功能。 通知浏览器网站提供了RSS输出:把下面的这句放在博客或这站点的he
GridView控件是asp.net开发中经常用到的控件之一,本网页设计教程详细介绍GridView的使用方法。前台.aspx
<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’"); } //} } |
GridView空的处理
1 显示无表头的空纪录,EmptyDataText="没有记录"
2 显示表头的空纪录
DataTable dt = new DataTable(); dt = feibf.GetByPersonIDFollowExamInfo(PersonID); //查询指定人的随访信息记录 DataView dv = SortBindGrid(dt); if (dt.Rows.Count > 0) { FollowExamInfoGridView.DataSource = dv; FollowExamInfoGridView.DataBind(); } else { //添加新行显示表头 dt.Rows.Add(dt.NewRow()); FollowExamInfoGridView.DataSource = dt; FollowExamInfoGridView.DataBind(); //处理新行 int columnCount = FollowExamInfoGridView.Rows[0].Cells.Count; //清除掉该空行的全部单元格 FollowExamInfoGridView.Rows[0].Cells.Clear(); //新建单元格对象 FollowExamInfoGridView.Rows[0].Cells.Add(new TableCell()); //合并单元格 FollowExamInfoGridView.Rows[0].Cells[0].ColumnSpan = columnCount; //设置单元格提示内容 FollowExamInfoGridView.Rows[0].Cells[0].Style.Value = "text-align:center"; FollowExamInfoGridView.Rows[0].Cells[0].Text = "此人无随访信息"; } |
GridView 的导出
EnableEventValidation="false" |
#region导出
public override void VerifyRenderingInServerForm(Control control) { } protected void BtnPrint_Click(object sender, EventArgs e) { Response.Clear(); Response.Buffer = true; Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls"); // 如果设置为GetEncoding("GB2312");导出的文件将会出现乱码!!! Response.ContentEncoding = System.Text.Encoding.UTF7; Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); this.AfficheGV.RenderControl(oHtmlTextWriter); Response.Output.Write(oStringWriter.ToString()); Response.Flush(); Response.End(); } #endregion |
ToolTip GridView详细信息的显示
前台
<script type="text/javascript" > function Tooltip(cella,cellb) { document.getElementById("dc").innerText = "详细信息:"+cellb; document.getElementById("id").innerText = "ID:"+cella; x= event.clientX+document.body.scrollLeft; y=event.clientY+document.body.scrollTop+20; toolTipLayer.style.display="inline"; toolTipLayer.style.left=x; toolTipLayer.style.top=y; } </script> <div id="toolTipLayer" style=" position:absolute; display:none; background-color:Aqua; border-color:Blue; border-style:solid; border-color:Blue; border-width:1px; " > <table> <tr><td>Affiche</td></tr> <tr><td id ="dc"></td></tr> <tr><td id ="id"> </td></tr> </table> </div> |
后台
protected void AfficheGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) { 1 e.Row.Attributes.Add("onmouseover", "Tooltip(’" +e.Row.Cells[0].Text.ToString()+ "’,’"+e.Row.Cells[1].Text.ToString()+"’)"); 2 e.Row.Attributes.Add("onmouseover","javascript:Tooltip(’e.Row.Cells[0].Text’);"); 3 e.Row.Attributes.Add("onmouseover", "Tooltip(’e.Row.Cells[0].Text’)"); } } } |
#region自带编辑
protected void GVAffiche_RowEditing(object sender, GridViewEditEventArgs e) { GVAffiche.EditIndex = e.NewEditIndex; BindGVAffiche(); } protected void GVAffiche_RowDeleting(object sender, GridViewDeleteEventArgs e) { GVAffiche.EditIndex = -1; MyAffiche.DelAfficeBF( Convert.ToInt32(GVAffiche.DataKeys[e.RowIndex].Value.ToString())); BindGVAffiche(); } protected void GVAffiche_RowUpdating(object sender, GridViewUpdateEventArgs e) { int id = Convert.ToInt32(((TextBox)(GVAffiche.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim()); string dc = ((TextBox)(GVAffiche.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim(); MyAffiche.UpdateAfficheBf(id,dc); GVAffiche.EditIndex = -1; BindGVAffiche(); } protected void GVAffiche_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GVAffiche.EditIndex = -1; BindGVAffiche(); } #endregion |
#region样式的控制
protected void GVAffiche_RowDataBound(object sender, GridViewRowEventArgs e) { //首先判断是否是数据行 if (e.Row.RowType == DataControlRowType.DataRow) { //当有编辑列时,避免出错,要加的RowState判断 if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) { ((Button)e.Row.Cells[7].FindControl("btnDel")).Attributes.Add("onclick","javascript:return confirm(’你确认删除:"" + e.Row.Cells[1].Text + ""’)"); //当鼠标停留时更改背景色 e.Row.Attributes.Add("onmouseover", "color=this.style.backgroundColor;this.style.backgroundColor=’#00A9FF’"); //当鼠标移开时还原背景色 e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=color"); GVAffiche.Attributes.Add("style", "word-break:keep-all;word-wrap:normal"); //GVAffiche.Attributes.Add("style", "word-break:break-all;word-wrap:break-word"); if (e.Row.Cells[1].Text == "444") { e.Row.Cells[1].BackColor = System.Drawing.Color.Red; } } } } #endregion |
以上是GridView控件的一些基础使用大全,希望对大家有所用处。
分享:asp.net使用存储过程实现用户登录cs代码如下 stringUserName=txtUserName.Text.ToString(); stringPassWord=txtPassWord.Text.ToString(); PassWord=FormsAuthentication.HashPasswordForStoringInConfigFile(PassWord,md5).ToLower().Substring(8,16); SqlParameter[]par=newSqlParameter
相关.Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP发送Email实例(可带附件)
- js实现广告漂浮效果的小例子
- asp.net Repeater 数据绑定的具体实现
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
- VS2010 水晶报表的使用方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net页面传值测试实例代码
- DataGridView - DataGridViewCheckBoxCell的使用介绍
- asp.net中javascript的引用(直接引入和间接引入)
- 三层+存储过程实现分页示例代码
- 相关链接:
- 教程说明:
.Net教程-asp.net的GridView控件使用方法大全。