如何在EDIT模式下禁用所有其他行EXCEPT

时间:2011-09-29 14:53:57

标签: asp.net gridview

  

可能重复:
  Disable the Edit button on all the rows when Edit button is clicked on a particular row in GridView

如何禁用除EDIT模式下的所有其他行?

我正在尝试找到一种方法来禁用所有其他行,而我当然处于编辑模式,除了编辑模式。

这是我的gridview看起来像:

<gridview.... 
<edittemplate...> 
................ 
</edittemplate> 
............ 
<asp:CommandField ButtonType="Link" ItemStyle-HorizontalAlign="Center" SelectText="Select" 
EditText="Edit" UpdateText="Save" ShowEditButton="true" /> 
</Columns> 
</asp:GridView> 

1 个答案:

答案 0 :(得分:1)

您需要处理GridView的RowEditing事件以禁用除编辑之外的所有行。

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        //Put binding code here..
        GridView1.DataBind();

        foreach (GridViewRow row in GridView1.Rows)
        {
            if (row.RowIndex != e.NewEditIndex)
            {
                row.Enabled = false;
            }
        }
    }

编辑:

除此代码外,请验证Page_load方法的绑定代码。

protected void Page_load()
{
   if(!IsPostBack)
   {
      //put GridView databinding code here

   } 
}