GridVIew控件选中、编辑、取消、删除数据项
来源:互联网 发布:cr什么意思网络用语 编辑:程序博客网 时间:2024/05/04 06:27
最近研究了一下GridVIew控件的用法,现总结如下:
GridVIew控件主要用来显示表格数据。
说明:因为连接SQL Server数据库,因此在命名控件中添加 using System.Data.SqlClient;
一 GridVIew控件分页绑定数据
1、在启用分页机制前需要设置
AllowPaging属性为true,表示允许分页;PageSize属性设置值(如5),表示允许每页最多显示5条数据。
然后在Page_Load事件中,对页面进行初始化,将数据表中数据绑定到GridVIew控件中。代码如下:
protected void Page_Load(object sender, EventArgs e)
{
string strCon = @"server=TRIMPS-WZF-PC\SQL2005; database=db_09; uid=sa; pwd= "; //定义连接数据库的字符串
string sqlStr = "select * from tb_user"; //定义数据库操作SQL语句
SqlConnection con = new SqlConnection(strCon); //创建数据库连接对象
SqlDataAdapter da = new SqlDataAdapter(sqlStr, con); //创建数据适配器
DataSet ds = new DataSet(); //创建数据集
da.Fill(ds); //填充数据集
//设置GridView控件的数据源为创建的数据集ds
GridView1.DataSource = ds;
//将数据库表中的主键字段放入GridVIew控件的DataKeyNames属性中
GridView1.DataKeyNames = new string[] { "ID" };
GridView1.DataBind(); //绑定数据库中的数据
}
运行程序后如图:
GridView“GridView1”激发了未处理的事件“PageIndexChanging”。
{
GridView1.PageIndex = e.NewPageIndex; //获取当前分页的索引值
GridView1.DataBind(); //重新绑定数据
}
二 以编程方式实现选中、编辑、删除GridView数据项
首先拖动一个GridView控件到页面中,点击GridView控件右上角的小黑三角会出现“GridView任务”点击“添加新列”,本例中数据字段选择了默认,输入页眉文本和数据字段,本例中添加了“用户ID”“姓名”“性别”“年龄”“地址”新列。然后点击GridView任务中的编辑列,在选定字段中可以调整列的先后位置,在可用字段中选择“CommandField”点击添加,则添加到选定字段中,然后点击CommandField,在右边的CommandField属性中设置属性。本例中在“行为“中设置ShowEditButton(编辑)、ShowDeleteButton(删除)的属性为true。由于GridView控件的自动生成字段的序列不会读到,因此把勾选去掉。如图所示:
protected void Page_Load(object sender, EventArgs e)
{
//在Page_Load中自定义一个方法BindData(),主要讲查询结果绑定在GridView控件上
if (!IsPostBack)
{
BindData(); //调用自定义方法绑定数据到控件
}
}
//自定义一个方法BindData(),主要讲查询结果绑定在GridView控件上
public void BindData()
{
string strCon = @"server=TRIMPS-WZF-PC\SQL2005 ; database=db_09; uid=sa; pwd= "; //定义数据库连接字符串
string sqlstr = "select * from tb_user"; //定义数据库查询SQL语句
SqlConnection con = new SqlConnection(strCon); //创建数据库的连接对象
SqlDataAdapter da = new SqlDataAdapter(sqlstr, con); //创建数据适配器
DataSet ds = new DataSet(); //创建数据集
da.Fill(ds); //填充数据集
GridView1.DataSource = ds; //设置GridView控件的数据源为创建的数据集ds
GridView1.DataKeyNames = new string[] { "ID" }; //将数据库表中的主键字段放入GridView控件的DataKeyNames属性中
GridView1.DataBind(); //绑定数据库中的数据
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex; //设置编辑项的索引
BindData();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string id = GridView1.DataKeys[e.RowIndex].Value.ToString(); //取得编辑行的关键字段值
//取得文本框中输入的内容
string strName = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim(); //Rows[]行,Cellls[]列
string strSex = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
string strAge = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();
string strAdd = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim();
//定义更新操作的SQL语句
string updata_sql = "update tb_user set name='" + strName + "', sex='" + strSex + "', age='" + strAge + "', address='" + strAdd + "' where ID='" + id + "'";
bool update = ExceSQL(updata_sql); //调用自定义的ExceSQL方法执行数据库的更新操作
if (update)
{
Response.Write("<script langeage=javascript>alert('修改成功!')</script>");
//设置GridView空间的编辑项的索引为-1,即取消编辑
GridView1.EditIndex = -1;
BindData(); //调用自定义的绑定数据方法
}
else
{
Response.Write("<script langeage=javascript>alert('修改失败!')</script>");
}
}
//自定义的执行数据库更新操作的方法
bool ExceSQL(String strsql)
{
//定义连接数据库的字符串
string strCon = @"server=TRIMPS-WZF-PC\SQL2005 ; database=db_09; uid=sa; pwd= ";
SqlConnection con = new SqlConnection(strCon); //创建数据库的连接对象
SqlCommand com = new SqlCommand(strsql, con); //创建数据库的执行对象
try
{
if (con.State == System.Data.ConnectionState.Closed) //判断数据库是否为连接状态
{
con.Open(); //若没有连接,则打开数据库
}
com.ExecuteNonQuery(); //执行SQL语句
return true; //执行SQL语句成功,返回true值
}
catch
{
return false; //SQL语句执行失败,返回false值
}
finally
{
con.Close(); //关闭数据库
}
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string delete_sql = "delete from tb_user where ID='"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";
bool delete = ExceSQL(delete_sql);
if (delete)
{
Response.Write("<script language=javascript>alter('删除成功!')</script>");
BindData();
}
else
{
Response.Write("<script language=javascript>alter('删除失败!')</script>");
}
}
- GridVIew控件选中、编辑、取消、删除数据项
- GridView选中,编辑,取消,删除:
- GridView选中,编辑,取消,删除
- GridView选中,编辑,取消,删除
- GridView选中,编辑,取消,删除
- GridView实现 选中,编辑,取消,删除
- asp.net2.GridView选中,编辑,取消,删除
- 2.GridView选中,编辑,取消,删除:
- GridView控件的编辑、删除、更新、取消!
- 如何实现GridView的选中,编辑,取消,删除功能
- Gridview删除选中,编辑
- 1.GridView无代码分页排序 GridView选中,编辑,取消,删除:
- GridView无代码分页排序,选中,编辑,取消,删除,正反双向排序,下拉菜单DropDownList结合
- GridView绑定,编辑,更新,取消,删除,排序
- GridView操作大全 无代码分页排序 正反双向排序 和下拉菜单DropDownList结合,选中,编辑,取消,删除
- [Asp.Net]GridView无代码分页排序,选中,编辑,取消,删除,正反双向排序,下拉菜单DropDownList结合
- 126.如何在DataGrid控件中实现数据项的编辑、更新、取消
- GridView控件的编辑和删除(未完)
- map的用法
- 基于边缘的模板匹配
- 二维动画与碰撞侦测
- 昨天冬至
- Jquery打字机效果
- GridVIew控件选中、编辑、取消、删除数据项
- 神의 存在하는 原理) (韓長庚 易學原理總論)
- url重写可能存在的性能问题
- CTreeCtrl的用法
- hibernateTemplate.getSessionFactory().getCurrentSession()
- 数据、现象与原因
- iOS并发编程NSThread、Grand Central Dispatch、Operation Queue
- 针对piix4_smbus ****host smbus controller not enabled的解决方法
- SIP ACK Req_URI