直接在DataGrid上删除,修改的方法

来源:互联网 发布:淘宝医药95095 编辑:程序博客网 时间:2024/05/18 02:40

直接在DataGrid上删除,修改的方法

1 DataGrid的设置:

Id                     不可见,不可编辑

CityName:    可见可编辑

删除:

修改:

如果在修改的时候,总不能得到新的编辑的值,就是因为在 Page_Load里面每次都DataBound了。

2 动作代码如下:

 

//删除代码

protected void dgCityName_DeleteCommand(object source, DataGridCommandEventArgs e)

        {

            bEditing = false;

            //删除这个城市

            string strId = e.Item.Cells[0].Text; //得到不可修改的内容

            string strDelSql = myIdrDa.BuildDeleteCitySql(strId);

            int iResult = myIdrDa.ExecuteSql(strDelSql);

 

            if (iResult == 0)

            {//如果删除失败

                Response.Write("<script language=javascript>alert('您已经成功删除了" + iResult + "条记录');</script>");

            }

            else

            {//如果删除成功

                Response.Write("<script language=javascript>alert('您已经成功删除了" + iResult + "条记录');</script>");

            }

 

            FillDataGrid(dgCityName, myIdrDa.BuildSearchCitySql());

 

        }

//修改

        protected void dgCityName_UpdateCommand(object source, DataGridCommandEventArgs e)

        {

            bEditing = false;

            string strId = e.Item.Cells[0].Text;   //得到静态内容

            string strCityName = ((TextBox)e.Item.Cells[1].Controls[0]).Text; //得到动态内容

            //更新这个城市

            string strUpdateSql = myIdrDa.BuildUpdateCitySql(strId, strCityName);

            int iResult = myIdrDa.ExecuteSql(strUpdateSql);

 

            this.dgCityName.EditItemIndex = -1;

            Response.Write("<script language=javascript>alert('您已经成功修改了" + iResult + "条记录');</script>");

 

            FillDataGrid(dgCityName, myIdrDa.BuildSearchCitySql());

        }

//编辑

        protected void dgCityName_EditCommand(object source, DataGridCommandEventArgs e)

        {

            bEditing = true; //说明正在编辑

            this.dgCityName.EditItemIndex = (int)e.Item.ItemIndex;

            FillDataGrid(dgCityName, myIdrDa.BuildSearchCitySql());

        }

//取消修改

        protected void dgCityName_CancelCommand(object source, DataGridCommandEventArgs e)

        {

            bEditing = false;

            this.dgCityName.EditItemIndex = -1;

            FillDataGrid(dgCityName, myIdrDa.BuildSearchCitySql());

        }

 

        protected void dgCityName_ItemDataBound(object sender, DataGridItemEventArgs e)

        {

            if (e.Item.ItemType.ToString() == "Item" || e.Item.ItemType.ToString() == "AlternatingItem")

            {

                e.Item.Cells[2].Attributes.Add("onclick", "return confirm('你确认要删除这条记录么?')");

                ((LinkButton)e.Item.Cells[2].Controls[0]).Enabled = true;

 

            }

            if (e.Item.ItemType.ToString() == "EditItem")

            {

               

                if (bEditing == true)

                {//如果正在编辑,就不让删除

                    e.Item.Cells[2].Attributes.Remove("onclick");

                    ((LinkButton)e.Item.Cells[2].Controls[0]).Enabled = false;

                }

                else

                {

                    e.Item.Cells[2].Attributes.Add("onclick", "return confirm('你确认要删除这条记录么?')");

                    ((LinkButton)e.Item.Cells[2].Controls[0]).Enabled = true;

                }

            }

        }

 

原创粉丝点击