您的位置首页百科问答

C# GridView控件的增删查改

C# GridView控件的增删查改

的有关信息介绍如下:

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 depart = TaskRecordManger.GetDepartment();

--查询的方法在这里就不先省略

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();

最后,运行修改如下图