欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-17 18:42:04
不得不说gridview控件的功能确实很强大,一个简简单单的控件就可以把数据管理的很美。在这两天做的任务中碰到的一些gridview控件中遇到的问题进行总结; ①:在gr...

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

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

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

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

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

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

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

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

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

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

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

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

   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数据绑定gridview控件使用技巧,希望对大家的学习有所帮助。

上一篇:

下一篇: