C# GridView控件的增删查改
的有关信息介绍如下:GridView 是 DataGrid的后继控件,在.net framework 2 中,虽然还存在DataGrid,但是GridView已经走上了历史的前台,取代DataGrid的趋势已是势不可挡。GridView和DataGrid功能相似,都是在web页面中显示数据源中的数据,将数据源中的一行数据,也就是一条记录,显示为在web页面上输出表格中的一行。
1、选择新建一个项目,例如asp.net的项目,按“确定”,接着添加一个web窗体
2、在工具箱的”数据“里找到GridView控件,并且把GridView放到界面上,还有选择TextBox,Button控件。
3、选择GridView右击属性,选择事件,选择GridView 的以下事件单击。
4、在后台,写一个方法来查询数据,如GridViewBind方法,
List
--查询的方法在这里就不先省略
if (depart != null)
{
GridView1.DataSource = depart;//为GridView控件指名数据源
GridView1.DataBind();//GridView控件绑定数据
}
5、接着,在页面的加载事件Page_Load里调用GridViewBind方法,
6、在GridView1_PageIndexChanging事件写如下代码
GridView1.PageIndex = e.NewPageIndex;
GridViewBind();
7、在GridView1_RowDataBound事件写如下代码,只要是样式的操作
//执行循环,保证每条数据都可以更新
for (i = 0; i < GridView1.Rows.Count; i++)
{
//首先判断是否是数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='pink'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
}
}
8、在GridView1_RowCancelingEdit事件写如下代码,用于取消操作
GridView1.EditIndex = -1;
GridViewBind();
9、在GridView1_RowDeleting事件写如下代码,用于删除数据
DepartmentTab depart = new DepartmentTab();
string departID = GridView1.DataKeys[e.RowIndex].Values.ToString(); //取出要删除记录的主键值
depart.DepartID = Convert.ToInt32(departID);
int k = UserDeptManger.DeleteOrUpdateDepart("delete", depart);
if (k > 0)//根据主键使用DeleteByProc方法删除
{
GridView1.EditIndex = -1;
GridViewBind();//重新绑定数据
// Response.Write("");
}
GridView1.EditIndex = -1;
GridViewBind();//重新绑定数据
10、在GridView1_RowEditing事件写如下代码
GridView1.EditIndex = e.NewEditIndex; //GridView编辑项索引等于单击行的索引
GridViewBind();
11、在GridView1_RowUpdating事件写如下代码
DepartmentTab depart = new DepartmentTab();
TaskTab task = new TaskTab();
string departID = GridView1.DataKeys[e.RowIndex].Values.ToString(); //取出记录的主键值
depart.DepartName = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("tbxName")).Text;
depart.DepartID = Convert.ToInt32(departID);
int aa = UserDeptManger.DeleteOrUpdateDepart("update", depart);
if (aa > 0)//使用Usersmr类UpdateByProc方法修改用户信息
{
GridViewBind();
// Response.Write("");
}
GridView1.EditIndex = -1;
GridViewBind();
最后,运行修改如下图