GridView控件想必写过程序的人都清楚,不必多介绍,它简单、易用的特性受到了很多程序猿们的青睐,它本身支持多种模板来显示数据、操作数据记录,可以实现对数据库信息的查询、显示、删除、修改等一些儿基本的操作,因此,它常常是我们编程人员的首选对象,下面我简单说一下这些基本的功能如何实现,挺简单的。
首先,给GridView设置数据源,可以启动设置向导进行设置也可以在代码里面进行设置,如下:
【设置向导】
这种方法只需按提示操作即可,无需多说,自己动手操作一下便可知道。
【手动绑定数据】
BandGridView是一个自定义方法用于绑定数据源,把GridView绑定到了表默认视图上,如果有用到GridView的地方,调用该函数即可。
private void BandGridView() { //GridViewManager启动数据库连接作用 GridViewManager gvwManager = new GridViewManager(); //实例化表对象 DataTable dt = new DataTable(); //查询数据库表,返回表 dt = gvwManager.SelectPetCategory(); //给GridView绑定表视图 gvwShow.DataSource = dt.DefaultView; //绑定数据 gvwShow.DataBind(); }
【 添加编辑列模板】
绑定数据表中想要显示的字段,并且设置其字段名(DataField)和显示名称(HeaderText)
【添加操作列】
(编辑、更新、删除)
编辑、更新、取消事GridView自带的事件类型,当进入编辑、更新等时会触发该事件,要为事件编写执行代码,如下:
【编辑】
/// <summary>
/// 当单击某一“编辑”按钮以后,GridView控件进入编辑模式之前发生
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gvwShow_RowEditing(object sender, GridViewEditEventArgs e)
{
//进入编辑状态
gvwShow.EditIndex = e.NewEditIndex;
//重新绑定
BandGridView();
}
【更新】
/// <summary> /// 当单击某一“更新”按钮以后,GridView控件进入更新模式之前发生 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void gvwShow_RowUpdating(object sender, GridViewUpdateEventArgs e) { //获取选择行的主键值 string aa = gvwShow.DataKeys[e.RowIndex].Value.ToString(); //获取更新后文本框中的值 string text = ((TextBox)gvwShow.Rows[e.RowIndex].Cells[1].Controls[0]).Text.ToString(); //取消编辑状态 gvwShow.EditIndex = -1; //重新绑定 BandGridView(); }
【取消】
/// <summary>
/// 当单击某一“取消”按钮以后,GridView控件进入取消模式之前发生
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gvwShow_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
//取消编辑状态
gvwShow.EditIndex = -1;
//重新绑定
BandGridView();
}
【添加删除操作列】
protected void gvwShow_RowDataBound(object sender, GridViewRowEventArgs e) { //为LinkButton按钮增加属性“删除提示框” ((LinkButton)e.Row.Cells[1].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除')"); }
GridView不仅仅可以实现数据的显示、编辑、删除、更新等操作,还可以实现鼠标滑过时高亮显示、选中多行、隐藏列、链接跳转、详细信息显示、自动双向排序等很多功能,它无疑给我们对数据的操作带来了莫大的帮助,是一把数据方面的利器,再多的功能也是为了实现方便用户浏览、观看,起到数据应用于实际当中,我觉的还应有一些更智能的功能加入进来,而不只是由我们来写代码实现,例如:有关数据透视、数据挖掘、数据整合一些智能功能应当加入控件中,它将更有利于我们的应用。
每个功能在于自己的理解和应用,学习是为了应用,学以致用嘛,更多功能将在下一篇博客介绍。