Asp.net Gridview行编辑 - 如何删除选择行事件

时间:2017-01-02 05:01:39

标签: asp.net select grid row edit

嗨,朋友们祝大家新年快乐!

我正在网格中显示记录,我有代码来选择行,并根据所选行在文本框中显示记录。 我有编辑按钮来编辑网格行中的记录但是当我单击文本框(编辑模式)以输入值时,它显示错误,因为“选择行”事件仍处于活动状态。

有关如何在单击编辑按钮时删除选择行操作的任何帮助。

 // click on the row to select and display records in text boxes 
 protected void gvUsrEdit_SelectedIndexChanged(object sender, EventArgs e)
 {
 GridViewRow row = gvUsrEdit.SelectedRow;
 Label l1 = row.FindControl("Label1") as Label;
 Label l2 = row.FindControl("Label2") as Label;
 i_TranInputID.Text = l1.Text;
 tReason.Text = l11.Text;         
 gvUsrEdit.Visible = false;
 }

 protected void gvUsrEdit_RowEditing(object sender, GridViewEditEventArgs e)
 {
 gvUsrEdit.EditIndex = e.NewEditIndex;
 show1(); 
 }


 public void show1()
 {
 string strquery = "select * from  btaprs2 where vEmpID=@d1 and vQuarter=@d2 and vyear1=@d3 and tKRA=@d4 and v10='Active' ";
 con.Open();
 SqlCommand cmd = new SqlCommand(strquery, con);
 try
 {
 SqlDataAdapter da = new SqlDataAdapter(cmd);
 DataSet ds = new DataSet();
 da.Fill(ds);
 gvUsrEdit.DataSource = ds;
 gvUsrEdit.DataBind();
 con.Close();
 }
 catch (Exception ex)
 {
 Response.Write(ex);
 Label46.Text = "Error in page please check!";
 }
 }

1 个答案:

答案 0 :(得分:0)

您需要更改RowIndex

 protected void gvUsrEdit_RowEditing(object sender, GridViewEditEventArgs e)
     {
            gvUsrEdit.EditIndex = -1;
            show1(); 
     }
  

我建议以这种方式Edit行:

您可能希望使用RowUpdating这样的方法:

    protected void gvUsrEdit_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {     
        i_TranInputID.Text = ((Label)gvUsrEdit.Rows[e.RowIndex].FindControl("Label1") ).Text;
        tReason.Text =  ((Label)gvUsrEdit.Rows[e.RowIndex].FindControl("Label2")).Text;
        tReason.Text = l11.Text;  
        gvUsrEdit.EditIndex = -1;       
        show1();
    }