当前位置:首页 > C#

GridView中行的编辑与删除

happyfhb14年前 (2012-09-20)C#1849
摘要:效果: 对GridView设置注意:点控件右上角的小三角>编辑列需要多少字段就添加多少个BoundField,并在每个中设好属性,DataField为数据库字段的名称,HeaderText为控件中相应列显示的字段。编辑与取消的列在CommandField中,添加。取消左下角&ldqu…

效果:

 

GridView设置注意:

点控件右上角的小三角>编辑列

需要多少字段就添加多少个BoundField,并在每个中设好属性,DataField为数据库字段的名称,HeaderText为控件中相应列显示的字段。

编辑与取消的列在CommandField中,添加。

取消左下角“自动生成字段”的勾

 

 

 

 

 

 

 

 

代码:

重点难点已经注释。

 

(引用)

using System.Data.SqlClient;

 

public partial class _Default : System.Web.UI.Page

{

    SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=MySql;Integrated Security=True");

 

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)//判定是否第一次加载,必须的,否则编辑中的数据更新不了

        {

            bind();

        }

    }

    //绑定数据

    public void bind()

    {

        DataSet ds = new DataSet();

        SqlDataAdapter da = new SqlDataAdapter("select * from student", conn);

        da.Fill(ds);

        GridView1.DataSource = ds;

        GridView1.DataKeyNames = new string[] { "id" };//设“id”为标识

        GridView1.DataBind();

    }

    //删除当前行

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

    {

        string commString = String.Format("delete from student where id='{0}'",

            GridView1.DataKeys[e.RowIndex ].Value .ToString ());//取出当前行的标识

        SqlCommand comm = new SqlCommand(commString,conn);

        conn.Open();

        comm.ExecuteNonQuery();

        conn.Close();

        bind();

    }

    //编辑当前行

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

    {

        GridView1.EditIndex = e.NewEditIndex;//对所在行进行编辑

        bind();

    }

    //更新编辑

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

    {

        string commString = String.Format("update student set name='{0}',sex='{1}',age='{2}' where id='{3}'",

            ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim(),//当前行的,第1列(从0开始),第0个控件

            ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim(),

            ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim(),

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

        SqlCommand comm = new SqlCommand(commString, conn);

        conn.Open();

        comm.ExecuteNonQuery();

        conn.Close();

        GridView1.EditIndex = -1;//取消编辑

        bind();

    }

    //取消编辑

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

    {

        GridView1.EditIndex = -1;

        bind();

    }  

}

 

注:“Page_Load()”中绑定的方法“bind()”一定要有if (!IsPostBack){}包含,否则更新数据将不可用。

 

扫描二维码推送至手机访问。

版权声明:本文由海海日记-冯海滨博客发布,如需转载请注明出处。

本文链接:http://www.fenghaibin.com/?id=952

“GridView中行的编辑与删除 ” 的相关文章

vb.net 多线程写法

注意 只能调用 不带参数的 sub 如果调用不同类的sub需要定义调用的sub是shared 是共享的 才可以的。相关语法Imports SystemImports System.Threading  '导入系统进程 Public Class Form1 &n…

asp.net substring截取函数详细用法

asp.net  substring截取函数详细用法字符串截取,substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。substring(int beginIndex, int endIndex)  返回一个新字符串,它是此字符串的一…

传智播客.Net精品就业班培训专区目录

[传智播客.Net视频]第1季C#编程基础[传智播客.Net视频]第2季C#面向对象基础    [传智播客.Net视频]第3季WinForm基础  [传智播客.Net视频]第4季SQL从入门到提高    [传智播客.Net视频]第5季ADO.Net&…

c#无返回值函数如何调用

 无返回值函数如何调用 事例 定义一个不需要返回值的函数 none()         static void none()//定义一个不需要返回值的函数        {&nbs…

学习心得 数据库连接类的书写规范

一般的规范都是建立3个类文件类1:字段(属性)model类2:方法(函数) dal类3:辅助或者就是 本来可以直接通过dal调用的方法 我在重写一遍 起中转作用 可以使程序更加清晰  bll…

C# 编写 Windows服务

. 新建一个项目2. 从一个可用的项目模板列表当中选择Windows服务3. 设计器会以设计模式打开4. 从工具箱的组件表当中拖动一个Timer对象到这个设计表面上 (注意: 工具箱中的timer 都是不对的,需要另行添加 详见方法 )&n…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。