GridView使用(一)编辑修改

本文介绍了一个ASP.NET中GridView控件的使用案例,包括编辑、取消编辑、更新及删除等常见操作。通过实例展示了如何从GridView获取数据并进行业务处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

// 点击gridview控件自带的编辑按钮时执行的事件   
  protected   void  gvNewsList_RowEditing( object  sender, GridViewEditEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
{
        gvNewsList.EditIndex 
= e.NewEditIndex;
        BindData();
    }

// 在编辑状态下,点击取消按钮时执行的事件
     protected   void  gvNewsList_RowCancelingEdit( object  sender, GridViewCancelEditEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
{
        gvNewsList.EditIndex 
= -1;
        BindData();
    }

// 在编辑状态下,点击更新按钮时执行的事件
  protected   void  gvNewsList_RowUpdating( object  sender, GridViewUpdateEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
{
        
//这里是关键,在绑定数据的时候要指定主键名称,比如字段id,在这里可以获得这条记录的id
        
//而这个id就是我们要更改的数据的id

        string ids = gvNewsList.DataKeys[e.RowIndex].Value.ToString();

      //如果有多个DataKeyNames可以通过下面这个方法得到指定的一个

   //string ids = gvNewsList.DataKeys[e.RowIndex][0].ToString();


        SystemMemberLevelModel systemMemberLevelModel 
= systemMemberLevelBll.GetModel(Convert.ToInt64(ids));
        
if (string.IsNullOrEmpty(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[0].Controls[0]).Text))
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            Common.MessageBox.Show(
this"请输入级别名称!");
            
return;
        }

        
else
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            systemMemberLevelModel.name 
= ((TextBox)gvNewsList.Rows[e.RowIndex].Cells[0].Controls[0]).Text;
        }


        
//是否允许新增会员
        systemMemberLevelModel.isAllowAddMember = ((CheckBox)gvNewsList.Rows[e.RowIndex].Cells[5].Controls[0]).Checked;
        
//是否缺省级别
        systemMemberLevelModel.isDefault = ((CheckBox)gvNewsList.Rows[e.RowIndex].Cells[6].Controls[0]).Checked;
        
//是否新闻发布免审核
        systemMemberLevelModel.isFreeAuditNews = ((CheckBox)gvNewsList.Rows[e.RowIndex].Cells[7].Controls[0]).Checked;
        
//   是否求购发布免审核
        systemMemberLevelModel.isFreeAuditProvPur = ((CheckBox)gvNewsList.Rows[e.RowIndex].Cells[4].Controls[0]).Checked;
        
//供应发布数量
        if (!string.IsNullOrEmpty(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[2].Controls[0]).Text))
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            systemMemberLevelModel.pubQuantityProv 
=Convert.ToInt64(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[2].Controls[0]).Text);
        }

        
//求购发布数量
        if (!string.IsNullOrEmpty(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[3].Controls[0]).Text))
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            systemMemberLevelModel.pubQuantityPur 
= Convert.ToInt64(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[3].Controls[0]).Text);
        }

        
//序号
        if (!string.IsNullOrEmpty(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[1].Controls[0]).Text))
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            systemMemberLevelModel.sort 
= Convert.ToInt32(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[1].Controls[0]).Text); 
        }

        
try
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            systemMemberLevelBll.Update(systemMemberLevelModel);
            gvNewsList.EditIndex 
= -1;
            BindData();

        }

        
catch (System.Data.DataException x)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            
throw new System.Data.DataException(x.ToString());
        }


    }


// 点击控件自带的删除按钮时执行的事件
     protected   void  gvNewsList_RowDeleting( object  sender, GridViewDeleteEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
{
        
//这里同样是通过这个属性来获取id
        string ids = gvNewsList.DataKeys[e.RowIndex].Value.ToString();
        
try
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            systemMemberLevelBll.Delete(Convert.ToInt64(ids));
            BindData();

        }

        
catch (System.Data.DataException x)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            
throw new System.Data.DataException(x.ToString());
        }

      
    }




// GridView数据绑定 
    protected   void  BindData()
ExpandedBlockStart.gifContractedBlock.gif    
{
        IList
<SystemMemberLevelModel> list = systemMemberLevelBll.GetAllList();
        
this.gvNewsList.DataSource = list;
ExpandedSubBlockStart.gifContractedSubBlock.gif        gvNewsList.DataKeyNames 
= new string[] "id" };//主键
        gvNewsList.DataBind();
    }


转载于:https://www.cnblogs.com/345563452/archive/2009/04/27/1444767.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值