1

在我的 jqGrid 中,我同时使用内联编辑和表单编辑。

我的一个列在内联编辑中不应该是可编辑的,所以我在我的 colModel 中将属性可编辑为 false,但是这个列应该在表单编辑中可见(编辑时只读,添加时可编辑)。

这是我尝试过的:

colModel:[{name:'bordereau',index:'BORDEREAU',width:60,align:'center',title:false,editable:false,editoptions: { readonly: true },editrules:{required:true},sortable:true,search:true},



function addRowForm(){
    grid.editGridRow("new",{
        width:'auto',
        height:'auto',
        reloadAfterSubmit:true,
        recreateFilter:true,
        beforeInitData: function() {
            grid.jqGrid('setColProp','bordereau',{editable:true});
            grid.jqGrid('setColProp','bordereau',{editoptions: {readonly: false}});
        },
        afterShowForm: function() {
            $("#editmod"+gridId).css("top",Math.round(((hauteurFenetreUtilisable)/2)-($("#editmod"+gridId).height()/2))+"px");
            $("#editmod"+gridId).css("left",Math.round(((largeutFenetreUtilisable)/2)-($("#editmod"+gridId).width()/2))+"px");
            grid.jqGrid('setColProp','bordereau',{editable:false});
            grid.jqGrid('setColProp','bordereau',{editoptions: {readonly: true}});
            $("#TblGrid_listeVar2 tr:visible:odd").addClass("jqgrow ui-row-ltr odd");
        },
        onclickPgButtons : function (which, formid, numeroBordereau) {
        },
        onClose: function() {
        },
        afterComplete: function() {
        }
    }); 
}



function editRowForm(numeroBordereau){
        grid.restoreRow(numeroBordereau);
        resetGridVar();
        grid.editGridRow(numeroBordereau,{
            width:'auto',
            height:'auto',
            reloadAfterSubmit:true,
            recreateFilter:true,
            beforeInitData: function() {
                grid.jqGrid('setColProp','bordereau',{editable:true});
            },
            afterShowForm: function() {
                $("#editmod"+gridId).css("top",Math.round(((hauteurFenetreUtilisable)/2)-($("#editmod"+gridId).height()/2))+"px");
                $("#editmod"+gridId).css("left",Math.round(((largeutFenetreUtilisable)/2)-($("#editmod"+gridId).width()/2))+"px");
                $("#TblGrid_listeVar2 tr:visible:odd").addClass("jqgrow ui-row-ltr odd");
                grid.jqGrid('setColProp','bordereau',{editable:false});
            },
            onclickPgButtons : function (which, formid, numeroBordereau) {
            },
            onClose: function() {
            },
            afterComplete: function() {
            }
        }); 
    }
4

0 回答 0