2016-11-18 12 views
0

JQgridでは:最初の列にないセルを編集するには、マウスを3回クリックしてセルをフォーカスする必要があります。jQGrid:セルを編集するために3回クリックする必要があります

例:グリッドの 'desription'列を編集したい場合は、マウスを3回クリックする必要があります。 enter image description here

+0

"トリプルクリック" を参照してください??? !!!あなたの質問を読んで、あなたがしたことや実装する必要があることを皆が理解できるように、テキストを作成しようとする他の人について考えてください。 **あなたは "トリプルクリック"で編集を実装する必要がありますか?それとも、このような奇妙な振る舞いをしたプログラムを書いていますか?**現在のコードに問題がある場合は、あなたはあなたの質問の文章で使っています。 – Oleg

+0

@Oleg Question Edited – thalla

+0

@Olegリンクからデモを見てください:http://www.ok-soft-gmbh.com/jqGrid/ActionButtons.htmまた税セルを編集するには3回クリックする必要があります – thalla

答えて

1

あなたが自由jqGridを使用する場合、あなたはあなたがeditRowfocusFieldオプションを使用することができます使用することができます。

ondblClickRow: function (rowid, iRow, iCol, e) { 
    $(this).jqGrid("editRow", rowid, { focusField: e.target }); 
}, 
beforeSelectRow: function (rowid) { 
    var $self = $(this), i, 
     // savedRows array is not empty if some row is in inline editing mode 
     savedRows = $self.jqGrid("getGridParam", "savedRow"); 
    for (i = 0; i < savedRows.length; i++) { 
     if (savedRows[0].id !== rowid) { 
      // save currently editing row 
      // one can replace saveRow to restoreRow in the next line 
      $self.jqGrid("saveRow", savedRows[i].id); 
     } 
    } 
    return savedRows.length === 0; // allow selection if saving successful 
}, 

https://jsfiddle.net/ft7zsocy/

+0

は動作していますが、編集後にキーを押して入力すると、そのフォームが送信される前に保存されません。何か案が ? – thalla

+0

@thalla: 'editRow'の単なるオプションです。 '$(this)).jqGrid(" editRow "、rowid、{focusField:e.target});を' $(this) :true}); 'インライン編集の* default *オプションを指定する' inlineEditing:{keys:true} 'のような 'inlineEditing'オプションを追加したりすることができます。 https://jsfiddle.net/ft7zsocy/1/を参照してください。 – Oleg

+0

ありがとうございます.Olegにタグを付けるオプションがあります。 – thalla

関連する問題