2016-05-18 19 views
1

これは簡単な問題かもしれませんが、ここで間違っていることはわかりません。コードは次のとおりです。ユーザーが削除ボタンを押したときに行を削除する

protected void dgvSelected_RowCommand (object sender, GridViewCommandEventArgs e) 
    { 
     if(e.CommandName =="Delete") 
     { 
      if (!string.IsNullOrEmpty(e.CommandArgument.ToString())) 
      { 
       int RowIndex = Convert.ToInt32(e.CommandArgument); 
       dgvSelected.DeleteRow(RowIndex); 


       dgvSelected.DataBind(); 
      } 


     } 
    } 

このクラスの最後には、このメソッドがあります。

protected void dgvSelected_RowDeleting(object sender, GridViewDeleteEventArgs e) 
    { 

    } 

私は、ASP .NETを使用していると私はいくつかの行は、各行で、私は、ユーザーが行を削除するためにそれを押すことができます削除ボタンを持ったGridViewを持っています。私が削除ボタンを押すと、グリッドビュー全体が消えます。何が間違っているのですか?

+0

可能な重複[更新、挿入に必要なSQL文を生成する方法を、GridViewのデータを削除しますか?](http://stackoverflow.com/questions/34529385/how-必要なSQLステートメントを更新してデータを挿入するグリッドに挿入する –

答えて

0

GridViewのデータがantoherのGridViewからだったので、この

protected void dgvSelected_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 
    dgvSelected.DataBind(); 
} 
+0

は機能しません。私は同じ結果を得る –

0

を試してみて、解決策は、ビューステート変数を作成し、その中にデータテーブルを保存することでした。そして、1行削除するには:の

protected void dgvSelected_RowDeleting(object sender, GridViewDeleteEventArgs e) 
    { 
     int index = Convert.ToInt32(e.RowIndex); 
     DataTable dt = ViewState["SelectedValue"] as DataTable; 
     dt.Rows[index].Delete(); 
     ViewState["SelectedValue"] = dt; 
     dgvSelected.DataSource = dt; 
     dgvSelected.DataBind(); 
    } 
関連する問題