2011-07-21 9 views
3

編集可能なgridviewに関してはここに問題があります。私がしたいのは、クリック可能な行を1つ使用して、編集ボタンの機能を置き換えることです。行をクリックすると、それらの行データを編集するための新しいページに転送されるはずです。編集ボタンを使用せずにこれをどのように達成できますか?GridViewの行をクリックして行を編集します

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) 
{ 
    // only apply changes if its DataRow 

    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 

     // when mouse is over the row, save original color to new attribute, and change it to highlight yellow color 

     e.Row.Attributes.Add("onmouseover", 
     "this.originalstyle=this.style.backgroundColor;this.style.backgroundColor='#EEFF00'"); 



     // when mouse leaves the row, change the bg color to its original value 

     e.Row.Attributes.Add("onmouseout", 
     "this.style.backgroundColor=this.originalstyle;");    

    } 
} 
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     string abc = ((GridView)sender).DataKeys[e.Row.RowIndex].Value.ToString(); 
     e.Row.Attributes["onClick"] = "location.href='Default.aspx?id=" + abc + "'"; 
     //e.Row.Attributes["onClick"] = "location.href='Default.aspx?id=" + DataBinder.Eval(e.Row.DataItem, "CategoryID") + "'";   

     e.Row.Attributes.Add("style", "cursor:pointer;"); 

    } 

} 
+0

をリダイレクトすると、期待どおり

今私は、私と一緒にその作業を、あなたのコードをテストしています。私は何の問題も見ることができません。 –

+0

問題は何ですか? – V4Vendetta

+0

@ V4Vendetta私の現在のページはdefault2.aspxです。問題はDefault.aspxが編集モードではなく、単にgridviewデータを持つプレーンページです。何も編集できません。 –

答えて

0

単にあなたがDefault.aspxにしたいとコントロールを追加し、(ポストバックではない状態で)のdefault.aspx pageloadイベントにIDによってレコードを取得し、コントロールを移入します。ボタンは、更新にレコードを押し提出し、戻ってあなたの元のページへ

関連する問題