ASP.NET数据绑定GridView控件使用技巧

 更新时间:2016年03月03日 15:28:39   投稿:lijiao  
这篇文章主要为大家详细介绍了ASP.NET数据绑定GridView控件使用技巧,感兴趣的小伙伴们可以参考一下

不得不说GridView控件的功能确实很强大,一个简简单单的控件就可以把数据管理的很美。在这两天做的任务中碰到的一些GridView控件中遇到的问题进行总结;

①:在GridView控件中随意显示数据库中的信息:

GridView控件中有一个AutoGenerateColumns属性,它的作用就是控制GridView控件是否在运行的时候自动生成相关联的列,一般情况下把这个属性设置成为false。因为我们需要的是一个DIY的GridView控件。然后点击右上角的箭头,选择编辑列添加一个BoundField字段,选择数据DataField属性,在后面填上自己想要显示数据库中某一列的列名,在外观HeaderText属性中填写数据库中要显示的列名加以提示。然后点击确定控件中就会显示如下图所示:

 

然后在asp后台中添加链接数据库代码就ok了。关于链接数据库的代码博主在博文“【ASP】用GRIDVIEW控件连接SQL SERVER数据库”中已经做了详细介绍,本文就不多说了。

②:在GridView控件中实现编辑删除的功能:

点击GridView控件右上角的箭头,选择编辑列,添加CommandField字段,设置此字段行为属性ShowDeleteButton和ShowEditButton为True。点击确定即可。结果如图下所示:

 

 但是此时的编辑删除不会有任何功能。因为GridView控件中有好多事件,实现编辑删除功能是要触发相应的事件才可以用。

首先介绍第一个事件——RowEditing。运行页面的时候点击编辑会出现“更改”和“取消”。此事件的作用就是点击编辑时可以显示更新和取消。 RowCancelingEdit。运行页面的时候点击编辑会出现“更改”和“取消”,运行结果如下图所示:

 

双击此事件,在后台添加代码如下:

   protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

    {

      GridView1.EditIndex = e.NewEditIndex;

      this.shuaxin();

    }

第二个事件——RowCancelingEdit       事件RowCancelingEdit就是实现取消功能。双击此事件填写代码如下:

   protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

   {

    GridView1.EditIndex = -1;

    this.shuaxin();

   }

第三个事件——RowUpdating实现更新功能,双击此事件添加代码如下:

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

    {

      this.GridView1.EditIndex = e.RowIndex;

      string title = GridView1.DataKeys[e.RowIndex].Value.ToString();

      string cotent = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text;

 

      string strsql = "update activities set cotent='" + cotent + "'

               where title='" + title + "'";

      SqlConnection con = new SqlConnection(ConfigurationManager.

                ConnectionStrings["username"].ConnectionString);

      SqlCommand cmd = new SqlCommand(strsql, con);

      con.Open();

      cmd.ExecuteNonQuery();

      con.Close();

      GridView1.EditIndex = -1;

      this.shuaxin();

    }

第四个事件——RowDeleting。此事件实现删除功能,双击事件添加代码如下:

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

    {

      string title = GridView1.DataKeys[e.RowIndex].Value.ToString();

 

      string delete = "delete activities where title='" + title + "'";

 

      SqlConnection con = new SqlConnection(ConfigurationManager.

                ConnectionStrings["username"].ConnectionString);

      SqlCommand cmd = new SqlCommand(delete, con);

      con.Open();

      cmd.ExecuteNonQuery();

      con.Close();

      GridView1.EditIndex = -1;

      this.shuaxin();  //自己写的链接数据库的方法;

    }

附:shuaxin();代码:

    private void shuaxin()

    {

      SqlConnection sqlcon = new SqlConnection(ConfigurationManager.

                 ConnectionStrings["username"].ConnectionString);

      sqlcon.Open();

      SqlDataAdapter da = new SqlDataAdapter(@"select * from activities", sqlcon);

      DataSet ds = new DataSet();

      da.Fill(ds);

      if (ds.Tables[0].Rows.Count > 0)

      {

        GridView1.DataSource = ds;

        GridView1.DataBind();

      }

      sqlcon.Close();

    }

注:GridView控件中有一个DataKeyNames属性,设置datakeyname是要在点击行时获得该行数据的主键,

以保证删除更新时准确性;若没有设置此属性就会出现如下结果:

以上就是关于ASP.NET数据绑定GridView控件使用技巧,希望对大家的学习有所帮助。

相关文章

  • ASP.NET设计网络硬盘之上传文件实现代码

    ASP.NET设计网络硬盘之上传文件实现代码

    用户最终是要和文件打交道的,文件夹仅仅是用来方便管理的。文件的上传和下载也就成为“网络硬盘”功能设计中的重要一环
    2012-10-10
  • ASP.NET Core 2.2中的Endpoint路由详解

    ASP.NET Core 2.2中的Endpoint路由详解

    这篇文章主要介绍了ASP.NET Core 2.2中的Endpoint路由详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Nginx配置实现下载文件的示例代码

    Nginx配置实现下载文件的示例代码

    这篇文章主要介绍了Nginx配置实现下载文件的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • asp.net无法获取iis目录的问题解决方法

    asp.net无法获取iis目录的问题解决方法

    本文介绍了Asp.Net无法获取IIS拾取目录的解决办法,需要的朋友可以参考下
    2014-02-02
  • ASP.NET生成树形显示的GridView实现思路

    ASP.NET生成树形显示的GridView实现思路

    生成树形结构的表格数据(EasyUI也有TreeGrid,此处只是提供一个思路),可以扩展单击展开/收缩节点,喜欢的朋友可以了解下啊,或许本文对你学习GridView有所帮助
    2013-02-02
  • .NET 8 实现无实体库表 API 部署服务的详细过程

    .NET 8 实现无实体库表 API 部署服务的详细过程

    本文介绍了一个无需实体数据库、支持多种查询和功能的API部署系统,系统支持动态API、Auth授权、接口限流等,适合各平台使用,提供完整接口文档,助力开发者高效工作,无需加班,适用于.NET开发,可直接从项目地址下载使用
    2024-10-10
  • asp.net Coolite TablePanel使用

    asp.net Coolite TablePanel使用

    TabPanel控件使用非常简单,但是功能却非常强大,它同MenuPanel、TreePanel一样提供了很多的集合属性,可以定制出丰富的应用。
    2010-03-03
  • ASP.NET Core环境设置教程(2)

    ASP.NET Core环境设置教程(2)

    这篇文章主要为大家详细介绍了Asp.net Core环境设置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Discuz!NT 3与asp.net 整合的实例教程

    Discuz!NT 3与asp.net 整合的实例教程

    本次整合只针对NETSNS中的代码做了少许修改,完成了基本的和论坛同步注册,登陆和注销,信息获取,信息修改。为的是给各位Discuz!NT API爱好者做一个简单的API事例,供大家参考。
    2009-11-11
  • Silverlight融合ajax实现前后台数据交互

    Silverlight融合ajax实现前后台数据交互

    两年前Silverlight 还未起名,故事发生在WPF/E 的年代里。07年8月在中软实习时,我承担起了在. Net 中嵌入WPF/E 的任务,目的是增强用户体验。
    2009-05-05

最新评论