jqgrid |自动降低编辑/添加网格表单的高度

时间:2014-12-11 05:08:27

标签: jquery jqgrid

有没有人有使用jqgrid' editGridRow'形式自动减少。 我已经使用了#edit editGridRow'添加和编辑网站上的列,它显示良好。然而, 我发现了一些奇怪的事情。如果两者都添加了网格形式,则网格形式会自动减少。和'编辑'导航按钮交替连续点击。 以下是我的代码中的部分内容。

 .jqGrid("navButtonAdd", pager_selector, {
                    caption: 'Add',
                    buttonicon: 'icon-pencil gray',
                    onClickButton: function() {
                        jQuery(grid_selector).jqGrid('editGridRow',"new",{
                            addCaption : "Add Blacklist Card",
                            width : 450,
                            //resize : true,
                            reloadAfterSubmit:true,
                            closeAfterAdd:true,
                            closeAfterEdit: true,
                            beforeInitData:setAddInit('add'),
                            beforeShowForm : function(form){
                                /*//방법1
                                $.get('/jqGrid/getblistcardList/?m_type=blist', function(data,status){
                                    var $grid = $('#CARD_NUMBER').val(data);
                                });
                                // var $grid = $('#CORPORATE_ID').val('as3fi8811sd');*/
                            },
                            afterSubmit: function(res, data) {
                                setEnd('add');
                                //alert('data : '+data);
                                if(res.responseText == "success") {
                                    //alert('저장 되었습니다.');
                                } else {
                                    //alert('저장에 실패했습니다.');
                                }
                                return ['success','message','new_id'];
                            }
                        });
                    },
                    position:"last",
                    title : "Add Blacklist Card"
                })
                .jqGrid("navButtonAdd", pager_selector, {
                    caption: 'Edit',
                    buttonicon: 'icon-edit blue',
                    onClickButton: function() {
                        //alert('Editing Row');
                        var gr = jQuery(grid_selector).jqGrid('getGridParam','selrow');
                        if( gr != null ) jQuery(grid_selector).jqGrid('editGridRow',gr,{
                            editCaption : "Edit Blacklist Card",
                            width : 450,
                            reloadAfterSubmit:true,
                            closeAfterEdit: true,
                            beforeInitData:setAddInit('edit'),
                            beforeShowForm: setEditeForm,
                            afterSubmit: function(res, data) {
                                setEnd('edit');
                                if(res.responseText == "success") {
                                    //alert('Edit Completely');
                                } else {
                                    // alert('Edit Fail');
                                }
                                return ['success','message','new_id'];
                            }
                        });
                        else alert("Please Select Row");
                    },
                    position:"last",
                    title : "Edit Blacklist Card"
                })

我想知道是否基本上设置了height属性。我怎样才能解决这个问题? 请告诉我。谢谢。

1 个答案:

答案 0 :(得分:0)

这似乎是jqGrid 4.6中的一个错误。作为一种解决方法,我建议使用以下onInitializeForm

onInitializeForm: function ($form) {
    $form.css({height: "auto"});
    $form.closest(".ui-jqdialog").css({height: "auto"});
}

请参阅the demo

以同样的方式,您可以将heightwidth都设置为"auto"

$.extend(true, $.jgrid.edit, {
    beforeInitData: function () {
        $("#editmod" + this.id).remove();
    },
    onInitializeForm: function ($form) {
        $form.css({height: "auto", width: "auto"});
        $form.closest(".ui-jqdialog").css({height: "auto", width: "auto"});
    },
    width: "auto"
});

请参阅one more demo

更新:该错误似乎在jqGrid 4.7中得到修复。请参阅使用4.6的the demo并重现问题,只需打开编辑表单,关闭它并再次打开它。 The next demo使用我在回答中建议的修复程序。 One more demo使用无修复,它使用jqGrid 4.7。可以看出这里不存在上述问题。