2012-01-07 41 views
0

GridviewコントロールでRowEditingeventを使用しています。私は、挿入、キャンセル、および更新を処理するコマンドフィールドを作成しました。gridviewコントロール - RowEditingイベント - 2回目のクリック

問題:edit(manage.jpg)をクリックすると、編集モードで表示されません。同じ編集でもう一度クリックすると、編集するデータフィールドが表示されます。なぜ私は最初のクリックイベントに応答していないのか分かりません。

<asp:CommandField 
      ShowEditButton="true" 
      ShowCancelButton="True" 
      ButtonType="Image" 
      EditImageUrl="manage.jpg" 
      HeaderText="Edit" 
      UpdateImageUrl="insert.jpg" 
      CancelImageUrl="cancel.png" 
      ItemStyle-Width="10px" > 
      <ItemStyle Width="20px" Height="20px"></ItemStyle> 
      </asp:CommandField> 

    protected void gridFavoriteAddress_RowEditing(object sender, GridViewEditEventArgs e)  { 
     gridFavoriteAddress.EditIndex = e.NewEditIndex; 
     //gridFavoriteAddress.DataBind(); 
    } 
+0

は二クリックでクビにイベントがします。ありがとう –

答えて

0

ただ、いくつかの考え

  1. あなたが編集に編集イベントが発生する前にそれがグリッドを再バインドん最初の時間をクリックしてください。私はイベントモデルにいくつかの検証がでCommandName="Edit"ImageButtonを使用するように再コーディングしてみ

  2. を通してそれを最初にblockngされなかった場合に備え、コマンドフィールドにCausesValidation="false"を追加

  3. てみてくださいを乱すことが知られていますTemplateColumn。これは、行編集イベントも起動する必要があります。それは働くのでしょうか?

  4. これは気になりますが、コマンドボタンには矛盾したスタイル(幅)があります。私はただ取り除くだろう。私はそれはおそらく、それを引き起こすことができませんでした知っているが、私は念のすべてがこの

-1

===> //gridFavoriteAddress.DataBind()を通過する際にそれがあるべきとまったく同じであるになるだろう。ただ明確にする - 問題を解決します

のコメントを外し==>gridFavoriteAddress.DataBind();

バインディンググリッド..

関連する問題