当前位置:首页 > C#

GridView中行的编辑与删除

happyfhb14年前 (2012-09-20)C#1818
摘要:效果: 对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 随机函数 random 用法

VB.net 的写法dim rand as new random()i=rand.next(1,100)表示伪随机数生成器,一种能够产生满足某些随机性统计要求的数字序列的设备。命名空间:System程序集:mscorlib(在 mscorlib.dll 中)伪随机数是以相同的概率从一组有限的数字中选…

IIS_WPG用户组

IIS_WPG用户组在安装asp.net web应用程序时,发现文件夹的用户权限总设置不对,结果导致读写access数据库文件出错。仔细研究了一下,发现必须要给IIS_WPG用户组足够的权限,程序才能正常运行。IIS_WPG用户组是做什么的?为了管理的方便,在安装 IIS 6 时创建了 IIS_WP…

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

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

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

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

c#中如何判断用户输入的字符全部为数字的方法-经典

             string num = textBox1.Text; //从文本框获取用户输入的值     …

C# windows服务程序中的Timer控件的添加方法

C# windows服务程序中的Timer控件的添加方法

开"工具箱"---右键---"选择项"---找到Timer控件,看好了,这个Timer控件的是system.Timer下的. 可不是System.Windows.Form.然后添加. …

发表评论

访客

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