2017-12-21 4 views
0

Ich benutze freie jqgrid 4-15-3 mit guiStyle auf Bootstrap gesetzt. Das Problem besteht darin, dass das Dialogfeld "Hinzufügen", das über die Schaltfläche "+" von navGrid gestartet wird, standardmäßig ein Dialogfeld "Modell" ist. Ich habe das "model: fasle" in addParms gesetzt, hat aber keinen Effekt. Es ist auch nicht gelungen, Änderungen in afterShowForm vorzunehmen, indem Sie jquery ui dialog "option" mit "model", false setzen. Unten ist das Code-Snippet. Was sind die möglichen Lösungen?Formular (hinzufügen) Dialog zu modeless setzen

$("#mygrid").jqGrid("navGrid", "#mygrid_nav", {add:true,...},{}, 
{ model:false, 
    afterShowForm: function(form){ 
     $(form).closest(".ui-jqdialog").dialog("option", "model", false); 

} }

Update: wie unten einen einfachen Test Erstellt, das gleiche Resultat:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8" /> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <link href="/Content/jquery-ui.min.css" rel="stylesheet"/> 
    <link href="/Content/ui.jqgrid.css" rel="stylesheet"/> 
    <script src="/Scripts/jquery-1.10.2.js"></script> 
    <script src="/Scripts/jquery-ui.min.js"></script> 
    <script src="/Scripts/jquery.jqgrid.src.js"></script> 
    <script src="/Scripts/grid.locale-en.js"></script> 
</head> 
<body> 
    <div> 
     <div> 
     <div> 
    <table id="tbl_test"></table> 
    <div id="div_test_pager"></div> 
    </div> 
    </div> 
    </div> 

<script type="text/javascript"> 
    $(function() { 
     $("#tbl_test").jqGrid({ 
      datatype: "local", 
      colNames: ['Col 1', 'Col 2'], 
      colModel: [ 
       { name: 'col1', index: 'col1', editable: true, width: 200 }, 
       { name: 'col2', editable: true, width: 100 } 
      ], 
      pager: "#div_test_pager", 
      height: 200, 
      caption: "Test" 
     }); 
     $("#tbl_test").jqGrid("navGrid", "#div_test_pager", 
      { edit: false, add: true, del: false, search: false, refresh: false } 
      /*no difference*/ 
      //,{}, {modal: false} 
     ); 
    }); 
</script> 
</body> 
</html> 

jede Hilfe dankbar!

(?. Kann Oleg oder kennt jemand einen Tip geben Vielen Dank)

Antwort

0

Das Wort Modell Sie verwenden, ist nicht korrekt - mit dem moda l in den Einstellungen Wort ersetzen und in der Berufung der Dialogfunktion

+0

Danke. Gleich nachdem beide korrigiert wurden. Außerdem habe ich die Dialogfunktion in afterShowForm aufgerufen und bekam die Ausnahme "Methode kann nicht im Dialog vor der Initialisierung aufgerufen werden". Scheint, dass es keinen Ereignishandler gibt, den ich schreiben kann, nachdem Dialog in jqgrid initialisiert worden ist? –

Verwandte Themen