2012-02-07 53 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

相关问题