2016-03-27 13 views
1

Geben Sie jqgrid frei, wenn es aus Remote-JSON-Daten besteht. -CodeSo zeigen Sie die Filtersymbolleiste nur an, wenn jqgrid über mehr als 20 Zeilen verfügt

$(function() { 
    $grid.jqGrid('filterToolbar', { 
     stringResult: true, 
     searchOnEnter: true, 
     defaultSearch: 'cn' 
    }); 
    // http://stackoverflow.com/questions/34475094/how-to-make-html5-date-field-in-search-toolbar-to-respect-column-width 
    $(".ui-search-table input[type=date]").each(function() { 
     $(this).css("width", $(this).closest("th.ui-th-column").width() + "px"); 
    }); 

wird verwendet, Filter-Symbolleiste zu erstellen.

Manchmal Gitter ist leer oder enthält wenige Zeilen. In diesem Fall ist die Filter-Symbolleiste verwirrend. Für leere Raster denken Benutzer, dass das Eingeben von Daten in diese Zeile eine neue Zeile hinzufügt. Dies verwirrt die Benutzer.

Wie wird die Filtersymbolleiste nur angezeigt, wenn das Raster mehr als 20 Zeilen enthält?

Antwort

1

Sie können den Wert $(this).jqGrid("getGridParam", "records") innerhalb von loadComplete testen. Es ist die Gesamtzahl der Datensätze im Raster. Wenn der Wert weniger als 20 Zeilen beträgt, können Sie toggleToolbar aufrufen, um die Filtersymbolleiste zu verbergen/anzuzeigen.

jqGrid haben derzeit keine direkte Möglichkeit, die Sie zum Testen verwenden können, wo die Symbolleiste derzeit sichtbar ist. Sie können this.ftoolbar ($("#grid")[0].ftoolbar) verwenden, um zu testen, ob die Filtersymbolleiste bereits vorhanden ist, und $(this.grid.hDiv).find("tr.ui-search-toolbar").css("display") === "none", um zu testen, ob die Filtersymbolleiste bereits ausgeblendet ist.

Verwandte Themen