GridView无代码分页排序
更新时间:2024-06-09 00:02:01 阅读量: 综合文库 文档下载
1.GridView无代码分页排序:
效果图:
1.AllowSorting设为True,aspx代码中是AllowSorting=\; 2.默认1页10条,如果要修改每页条数,修改PageSize即可,在aspx代码中是PageSize=\。 3.默认的是单向排序的,右击GridView弹出“属性”,选择AllowSorting为True即可。
2.GridView选中,编辑,取消,删除:
效果图:
后台代码:
你可以使用sqlhelper,本文没用。代码如下: using System;
using System.Data;
using System.Configuration; using System.Web;
using System.Web.Security; using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page {
//清清月儿http://blog.csdn.net/21aspnet SqlConnection sqlcon; SqlCommand sqlcom;
string strCon = \数据库名;Uid=帐号;Pwd=密码\ protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
bind(); } }
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) {
GridView1.EditIndex = e.NewEditIndex;
bind(); }
//删除
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) {
string sqlstr = \from 表 where id='\+ GridView1.DataKeys[e.RowIndex].Value.ToString() + \ sqlcon = new SqlConnection(strCon);
sqlcom = new SqlCommand(sqlstr,sqlcon); sqlcon.Open();
sqlcom.ExecuteNonQuery(); sqlcon.Close(); bind(); }
//更新
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) {
sqlcon = new SqlConnection(strCon); string sqlstr = \表 set 字段1='\ +
((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + \字段2='\
+
((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + \字段3='\
+
((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + \where id='\
+ GridView1.DataKeys[e.RowIndex].Value.ToString() + \ sqlcom=new SqlCommand(sqlstr,sqlcon); sqlcon.Open();
sqlcom.ExecuteNonQuery(); sqlcon.Close();
GridView1.EditIndex = -1; bind(); }
//取消
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) {
GridView1.EditIndex = -1;
bind(); }
//绑定
public void bind() {
string sqlstr = \表\ sqlcon = new SqlConnection(strCon);
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet(); sqlcon.Open();
myda.Fill(myds, \表\
GridView1.DataSource = myds;
GridView1.DataKeyNames = new string[] { \主键 GridView1.DataBind(); sqlcon.Close(); } }
前台主要代码:
... ...
3.GridView正反双向排序: 效果图:点姓名各2次的排序,点其他也一样可以。 后台代码: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class Default3 : System.Web.UI.Page { //清清月儿的博客http://blog.csdn.net/21aspnet SqlConnection sqlcon; string strCon = \北风贸易;Uid=sa;Pwd=\ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ViewState[\身份证号码\ ViewState[\ bind(); } } protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { string sPage = e.SortExpression; if (ViewState[\ { if (ViewState[\ ViewState[\ else ViewState[\ } else { ViewState[\ } bind(); } public void bind() { string sqlstr = \飞狐工作室\ sqlcon = new SqlConnection(strCon); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet(); sqlcon.Open(); myda.Fill(myds, \飞狐工作室\ DataView view = myds.Tables[\飞狐工作室\ string sort = (string)ViewState[\ view.Sort = sort; GridView1.DataSource = view; GridView1.DataBind(); sqlcon.Close(); } } 前台主要代码: CellPadding=\Font-Size=\OnSorting=\BackColor=\ 4.GridView和下拉菜单DropDownList结合: 效果图: 后台代码: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class Default4 : System.Web.UI.Page { SqlConnection sqlcon; string strCon = \北风贸易;Uid=sa;Pwd=sa\ protected void Page_Load(object sender, EventArgs e) { DropDownList ddl; if (!IsPostBack) { string sqlstr = \飞狐工作室\ sqlcon = new SqlConnection(strCon); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet(); sqlcon.Open(); myda.Fill(myds, \飞狐工作室\ GridView1.DataSource = myds; GridView1.DataBind(); for (int i = 0; i <= GridView1.Rows.Count - 1; i++) { DataRowView mydrv = myds.Tables[\飞狐工作室\ if (Convert.ToString(mydrv[\员工性别\ { ddl = (DropDownList)GridView1.Rows[i].FindControl(\ ddl.SelectedIndex = 0; } if (Convert.ToString(mydrv[\员工性别\ { ddl = (DropDownList)GridView1.Rows[i].FindControl(\ ddl.SelectedIndex = 1; } } sqlcon.Close(); } } public SqlDataReader ddlbind() { string sqlstr = \员工性别 from 飞狐工作室\ sqlcon = new SqlConnection(strCon); SqlCommand sqlcom = new SqlCommand(sqlstr, sqlcon); sqlcon.Open(); return sqlcom.ExecuteReader(); } 前台主要代码: CellPadding=\Font-Size=\ BackColor=\BorderColor=\ ' DataValueField=\员工性别\DataTextField=\员工性别\ 5.GridView和CheckBox结合: 效果图: 后台代码: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class Default5 : System.Web.UI.Page { //清清月儿http://blog.csdn.net/21aspnet SqlConnection sqlcon; string strCon = \北风贸易;Uid=sa;Pwd=sa\ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bind(); } } protected void CheckBox2_CheckedChanged(object sender, EventArgs e) { for (int i = 0; i <= GridView1.Rows.Count - 1; i++) { CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl(\ if (CheckBox2.Checked == true) { cbox.Checked = true; } else { cbox.Checked = false; } } } protected void Button2_Click(object sender, EventArgs e) { sqlcon = new SqlConnection(strCon); SqlCommand sqlcom; for (int i = 0; i <= GridView1.Rows.Count - 1; i++) { CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl(\ if (cbox.Checked == true) { string sqlstr = \from 飞狐工作室 where 身份证号码='\+ GridView1.DataKeys[i].Value + \ sqlcom = new SqlCommand(sqlstr, sqlcon); sqlcon.Open(); sqlcom.ExecuteNonQuery(); sqlcon.Close(); } } bind(); } protected void Button1_Click(object sender, EventArgs e) { CheckBox2.Checked = false; for (int i = 0; i <= GridView1.Rows.Count - 1; i++) { CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl(\ cbox.Checked = false; } } public void bind() { string sqlstr = \飞狐工作室\ sqlcon = new SqlConnection(strCon); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet(); sqlcon.Open(); myda.Fill(myds, \ GridView1.DataSource = myds; GridView1.DataKeyNames = new string[] { \身份证号码\ GridView1.DataBind(); sqlcon.Close(); } } 前台主要代码: CellPadding=\Font-Size=\ BackColor=\BorderColor=\ 6.鼠标移到GridView某一行时改变该行的背景色方法一: 效果图: 做法: 双击GridView的OnRowDataBound事件; 在后台的GridView1_RowDataBound()方法添加代码,最后代码如下所示: 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(\ \ //当鼠标移开时还原背景色 e.Row.Attributes.Add(\ } } } 前台代码: