2012-02-07 83 views
7

我有一個jqGrid,其中一行可編輯點擊(即'EditRow'內'OnSelectRow'工作正常)。但我的要求是「默認情況下,使用編輯模式下的所有行加載網格(內聯編輯)」,所以不應該有任何需要單擊單個行。有人可以投射燈光嗎?jqGrid:默認情況下,「內聯編輯模式」中的所有行

我嘗試下面的代碼,但沒有工作

var data_val = myGrid.getRowData(); 
for (var i=0;i<data_val.length;i++) 
{ 
myGrid.editRow(data_val[i], true); 
} 

回答

14

您必須枚舉網格的所有行,並呼籲editRow的每一行。該代碼可以像以下

loadComplete: function() { 
    var $this = $(this), ids = $this.jqGrid('getDataIDs'), i, l = ids.length; 
    for (i = 0; i < l; i++) { 
     $this.jqGrid('editRow', ids[i], true); 
    } 
} 

或以下

loadComplete: function() { 
    var $this = $(this), rows = this.rows, l = rows.length, i, row; 
    for (i = 0; i < l; i++) { 
     row = rows[i]; 
     if ($.inArray('jqgrow', row.className.split(' ')) >= 0) { 
      $this.jqGrid('editRow', row.id, true); 
     } 
    } 
} 
+0

哇!!!奧列格!你就像哦!天哪!!!你讓我今天一整天都感覺很好。感謝百萬... – CodeMad 2012-02-07 07:56:44

+1

@CodeMad:不客氣!我很高興能幫助你。 – Oleg 2012-02-07 08:04:20

+1

@Oleg我建議使用jQuery的'hasClass'函數:'$(row).hasClass('jqgrow');'而不是詳細和不可靠的inArray函數:'$ .inArray('jqgrow',row.className .split(''))> = 0'。你永遠無法知道空白的大小('''')。 – 2012-10-25 06:50:48

相關問題