jqGrid只能通过表单模式进行编辑

时间:2009-10-27 20:28:28

标签: jquery forms jqgrid inline

在页面上的网格中,所有这些网格不仅需要禁用内联编辑,而且还应仅通过模式窗体进行编辑。

但是,转动editable:false,同时阻止内联编辑,也会阻止通过表单进行编辑(表单上没有列,只有提交和取消按钮)

我该如何影响这种行为?或者当前版本(3.5.2)无法实现

我还尝试在beforeFormShow和onInitializeForm事件处理程序中启用editable(:true)(在colModel声明中关闭它之后),但是在编辑或添加表单中都没有显示列。

非常感谢您提供的任何见解......

这就是我正在做的事情 -

           var addprm = { 
                     width: 450, 
                     height: 200,
                     top: 125, 
                     left: 50, 
                     beforeShowForm: function(formId) {
                         id= jQuery('#list10').getGridParam('selrow');
                         alert('From AddPrm: formId=' + formId + " id=" + id);
                         var ret = jQuery('#table').getRowData(id);
                         jQuery('#list10').setColProp('tr_a_name',{editable:true});
                         jQuery('#list10').setColProp('tr_a_desc',{editable:true});
                         jQuery('#list10').setColProp('tr_a_comments',{editable:true});
                     },  
                     reloadAfterSubmit:true, 
                     closeAfterAdd:true
             };

与editprm对象一样明智,使用tr_前缀和不带(如在colModel中)

1 个答案:

答案 0 :(得分:1)

我相信你可以覆盖onSelectRow方法,这样它就不会触发row_edit响应并强制模型响应。像这样:

jQuery("#grid_id").jqGrid({
  ....init stuff.....
  onSelectRow: function(id){
     jQuery("#grid_id").editGridRow( id, properties );
  }
  .....other stuff......
 })