1.自增列 <asp:TemplateField HeaderText="自增列" FooterText="自增列"> <ItemTemplate> <%# (Container.DataItemIndex+1).ToString()%> </ItemTemplate> </asp:TemplateField> 2.排序 protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { if (sort == "Desc") { sort = "Asc"; } else { sort = "Desc"; } DataView dv = bll.getAllStudent().Tables[0].DefaultView; dv.Sort = e.SortExpression + " "+sort; this.GridView1.DataSource = dv; this.GridView1.DataBind(); } 3.复选框全选js实现 //创建复选框 <asp:TemplateField HeaderText="<input type='checkbox' id='chk' name='chk' οnclick='checkJs(this.checked);' />全选" FooterText="全选"> <ItemTemplate> <input type="checkbox" id="checkboxname" name="checkboxname" value='<%# DataBinder.Eval(Container.DataItem, "id")%>' οnclick='SingleCheckJs();' /> </ItemTemplate> </asp:TemplateField> //js处理事件 <mce:script language="javascript" type="text/javascript"><!-- // 判断多选是否与选中项(没有选中的返回false) function slcNo_click() { if (document.form1.checkboxname.length) { for (var i=0;i<document.form1.checkboxname.length;i++) { if(document.form1.checkboxname[i].checked) { return true; } } } else { if(document.form1.checkboxname.checked) { return true; } } alert("请选择后再操作!"); return false; } // 多选的全选与取消,此方法绑定在“全选”复选框上,<asp:TemplateField HeaderText="<input type='checkbox' id='chk' name='chk' οnclick='checkJs(this.checked);' />全选" FooterText="全选"> function checkJs(boolvalue) { if(document.all.checkboxname.length>1) { for(var i=0;i<document.all.checkboxname.length;i++) { document.all.checkboxname[i].checked = boolvalue; } } else document.all.checkboxname.checked = boolvalue; } // 当被全选时,单个选后把“全选”复选框取消选择,此方法绑定在每个复选框上,<input type="checkbox" id="checkboxname" name="checkboxname" value='<%# DataBinder.Eval(Container.DataItem, "id")%>' οnclick='SingleCheckJs();' /> function SingleCheckJs() { var flag1=false; var flag2=false; if (document.form1.checkboxname.length) { for (var i=0;i<document.form1.checkboxname.length;i++) { if(document.form1.checkboxname[i].checked) flag1 = true; else flag2 = true; } } else { if(document.form1.checkboxname.checked) flag1 = true; else flag2 = true; } if(flag1==true&&flag2==false) document.getElementById("chk").checked = true; else document.getElementById("chk").checked = false; } // --></mce:script> 获取选中的值: this.Label3.Text = Request.Form.Get("checkboxname"); 结果:1101 ,1102 ,1104 ,1105 ,1103 处理: string str=""; string []ckb=null; str=Request.Form.Get("checkboxname"); ckb=str.Split(new char[]{','}); Response.Write("直接在页面中得到的值为:"+str+"<br>"); Response.Write("处理后存放在数组中,如下:<br>"); for(int i=0;i<ckb.Length;i++) { Response.Write("ckb["+i+"]的值为:"+ckb[i]+"<br>"); } 结果: 1101 1102 1104 1105 1103 4.鼠标经过改变行的颜色 //js代码 <mce:script type="text/javascript"><!-- if (!objbeforeItem) { var objbeforeItem=null; var objbeforeItembackgroundColor=null; } function ItemOver(obj) { if(objbeforeItem) { objbeforeItem.style.backgroundColor = objbeforeItembackgroundColor; } objbeforeItembackgroundColor = obj.style.backgroundColor; objbeforeItem = obj; obj.style.backgroundColor = "#B9D1F3"; } // --></mce:script> //GridView事件 protected void gvNews_RowDataBound(object sender, GridViewRowEventArgs e) { //行头,尾,页码等过滤掉 if (e.Row.RowType.ToString() != DataControlRowType.Header.ToString()&&e.Row.RowType.ToString() != DataControlRowType.EmptyDataRow.ToString()&&e.Row.RowType.ToString() != DataControlRowType.Pager.ToString()&&e.Row.RowType.ToString()!= DataControlRowType.Footer.ToString() ) { e.Row.Attributes["onmouseover"] = "ItemOver(this)"; } } 5.加入单选框 <asp:TemplateField HeaderText="单选" FooterText="单选"> <ItemTemplate> <input type="radio" id="RadioName" name="RadioName" value='<%# Eval("PK_Id")%>' /> </ItemTemplate> </asp:TemplateField> 获取选中的值: this.Label2.Text=Request.Form.Get("RadioName"); 结果:1103 要更深入,推荐 关于GridView中自定义分页、单选、多选、排序、自增列的简单应用