2009-09-18 14 views
5

私はGridViewという名前で別の列を作成しました。削除をクリックすると、その行が削除されます。つまり、削除するには現在の行のユーザー名を取得する必要があります。GridViewで削除ボタンを作成する方法は?

  1. 私はどのイベントを使用しますか? (RowDeleting、Rowdeletedなど...)
  2. 現在の行からユーザー名を取得するにはどうすればよいですか?ここで

答えて

0
tablename.Rows.RemoveAt(datagrid1.currentcell.rowindex); 
+0

私は、このようにGridViewのから彼を削除するデータベースからユーザーを削除したいです。ユーザ名を取得する必要があります –

+0

@OrBetzalel: 'columnIndexOfUsername'を与え、** GridViewDeleteEvent **(Phaedrusの投稿を参照)を使用すると、' username = datagrid1.Rows [e.RowIndex] .Cells [columnIndexOfUsername] .Value.ToString(); ' – jp2code

4

RowDeletingイベントを使用するには、ユーザー名をプログラムでアクセスできるデータキーコレクションに格納します。

<asp:GridView DataKeyNames="UserName" ID="GridView1" 
    runat="server" OnRowDeleting="GridView1_RowDeleting"> 

次に、データキーを使用してレコードを削除します。

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 
    string userName = (string) GridView1.DataKeys[e.RowIndex].Value; 
    DeleteUser(userName); 
} 
+0

私はこのような例が好きですが、' DataGrid'コントロールがハードコーディングされた列名だけを使用する例を見つけることができます。私のデータは、10個の異なるストアドプロシージャのうちの1つを呼び出して、異なるサマリーを表示するために、ユーザの入力に基づいてシーンの裏に埋められます。 – jp2code

0

1: -

protected void grdLst_RowDeleting(object sender, GridViewDeleteEventArgs e) 

{ 

    int i = Convert.ToInt32(grdLst.DataKeys[e.RowIndex].Value); 
    ob.DeleteCoverage(i); 
    Response.Redirect("fullcoverage.aspx"); 
} 

2: -

GridViewRow row = (GridViewRow)grdlist.Rows[e.RowIndex]; 
    string name = row.Cells[1].Text; 
    Response.Write(name.Trim()); 
関連する問題