2013-09-25 42 views
2

有没有一个选项可以包含rowposcolposbeforShowForm。我知道它应该在formoption的设置colModel下使用。但我的网格已自定义编辑(说状态)和正常编辑。我想为这两个不同的路线。下面是我的参考rowfor和colpos in beforShowForm

bulkgrid.jqGrid('navGrid','#bulkktrackpager',{ 
    edit: true, 
    add: true, 
    del: true,  
    search: true,  
    view: true,  
    //cloneToTop: true, 
}).navButtonAdd('#bulkktrackpager',{ 
    caption:"Status",  
    buttonicon:"ui-icon-lightbulb",  
    position:"last",  
});   

任何想法代码????许多感谢..

}).navButtonAdd('#bulkktrackpager',{ 
    caption:"Status", 
    buttonicon:"ui-icon-lightbulb", 
    position:"last", 
    onClickButton: function(){ 
      var $self = $(this); 
      $self.jqGrid("editGridRow", $self.jqGrid("getGridParam", "selrow"), 
       { 
        beforeInitData: function(formid) { 
         bulkgrid.setColProp('status', { 
          formoptions : { 
           rowpos : 1, 
           colpos: 1, 
          }, 
         }); 
         bulkgrid.setColProp('ctno', { 
          formoptions : { 
           rowpos : 1, 
           colpos: 2, 
          }, 

         }); 
         //similaryly other elements 
        }, 
        beforeShowForm: function(form) { 
         $("#tr_agent").hide(); 
        }, 
        recreateForm: true, 
        editData: {//Function to Add parameters to the status 
         oper: 'status', 
        }, 
        closeAfterEdit: true, 
        reloadAfterSubmit: true, 
       }); 
    } 
}); 

图片enter image description here 镜像2 enter image description here

回答

2

您可以使用formoptionsrowposcolpos性能。您可以在beforeInitData回调内动态设置的值。您应该另外使用recreateForm: true选项来确保jqGrid使用当前值。

the answer创建

The demo证明的formoptionsrowposcolpos属性 “静态” 的用法。如果您需要更改所有标签的对齐方式,您可以设置text-align样式(请参阅the answer)。或者,您可以仅为特定标签设置CSS样式text-align。例如,您需要在beforeShowForm回调中设置样式。

+0

哇!干净清晰的解决方案。动态rowpos和colpos的作品就像一个魅力。稍后将尝试文本对齐。谢谢奥列格。 – Wahab

+0

@Wahab:不客气! – Oleg

+0

@oleg ..不明白为什么提到recreateForm后:为true,为编辑和状态获取相同的表单模型。我更新了我的问题中的代码.. – Wahab