2009-10-27 48 views
0

在我的頁面上的網格,所有的人不僅需要有聯編輯禁用的,但也應該通過模態窗體只可編輯。jqGrid的編輯只有通過形式模式

然而,把編輯:假的,而在線防止編輯,還可以防止編輯通過形式(沒有列可以看出的形式,只是提交和取消按鈕)

我怎樣才能實現這種行爲?或者當前版本無法使用(3.5.2)

我還嘗試在beforeFormShow和onInitializeForm事件處理程序中啓用可編輯(: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)

+0

你讓任務不必要的複雜。請嘗試關注Ed。回答。也可以嘗試,如果你找到它正確的,繼續發問在這個偉大的社會接受正確的答案。 – Tareq 2011-10-03 07:21:10

回答

1

我相信你可以重寫onSelectRow方法,以便它不會觸發row_edit響應和強制模型響應。像這樣:

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

良好的小費,謝謝,這個工作! – ombud 2009-12-30 19:02:46