Es ist sehr interessante Frage! Ich habe nie zuvor Font Awesome icons verwendet, aber es scheint sehr interessantes Projekt.
jqGrid hat derzeit keine direkte Unterstützung von Font Awesome-Symbolen, aber ich habe the simple demo vorbereitet, die zeigt, wie die Standard-jQuery UI-Navigator-Symbole durch die entsprechenden Symbole aus Font Awesome ersetzt werden.
Man sieht meist den Unterschied zu den ursprünglichen Navigator Icons nach dem Zoom der Seite. Ich schloss unter dem Navigator mit Zoom 400% angezeigt:
Der ursprüngliche Navigator mit jQuery UI-Icons
Das Navigationssystem mit Font Super Symbole:
Der Code, Ich benutze ist sehr einfach. Statt Verwendung
$grid.jqGrid("navGrid", "#pager", {view: true});
benutzte ich
$grid.jqGrid("navGrid", "#pager", {editicon: "icon-pencil",
addicon: "icon-plus", delicon: "icon-trash", searchicon: "icon-search",
refreshicon: "icon-refresh", viewicon: "icon-file",view: true});
$("#pager .navtable .ui-pg-div>span").removeClass("ui-icon");
Ich habe die CSS
.ui-jqgrid .ui-jqgrid-pager .ui-pg-div>span { margin: 0 5px; font-size: 12px; }
Ich denke, es ist möglich, mehr jQuery UI-Symbole ersetzen Super Icons Font, aber es ist nicht sehr einfach . Ich werde über das Problem mehr nachdenken und werde den Entwickler von jqGrid (Tony Tomov) kontaktieren, um jqGrid freundlicher zu Font Awesome Icons zu machen, so dass es sehr einfach möglich wäre, auf Font Awesome Icons umzusteigen.
AKTUALISIERT: Ich habe den Code, der oben ermöglicht mehr Symbole aus dem Pager ersetzen:
var $pager = $grid.closest(".ui-jqgrid").find(".ui-pg-table");
$pager.find(".ui-pg-button>span.ui-icon-seek-first")
.removeClass("ui-icon ui-icon-seek-first")
.addClass("icon-step-backward");
$pager.find(".ui-pg-button>span.ui-icon-seek-prev")
.removeClass("ui-icon ui-icon-seek-prev")
.addClass("icon-backward");
$pager.find(".ui-pg-button>span.ui-icon-seek-next")
.removeClass("ui-icon ui-icon-seek-next")
.addClass("icon-forward");
$pager.find(".ui-pg-button>span.ui-icon-seek-end")
.removeClass("ui-icon ui-icon-seek-end")
.addClass("icon-step-forward");
Als Ergebnis einer der folgenden Pager erhalten:
statt
AKTUALISIERT 2: Der Code zum Ändern des Minimierungssymbols sieht etwas komplizierter aus.Man sollte zuerst das Symbol ändern zunächst
$grid.closest(".ui-jqgrid")
.find(".ui-jqgrid-titlebar>.ui-jqgrid-titlebar-close>.ui-icon-circle-triangle-n")
.removeClass("ui-icon ui-icon-circle-triangle-n")
.addClass("icon-circle-arrow-down");
und dann nach jeder auf das Symbol klicken ändern:
onHeaderClick: function (gridstate) {
if (gridstate === "visible") {
$(this.grid.cDiv).find(">.ui-jqgrid-titlebar-close>span")
.removeClass("icon-circle-arrow-up ui-icon-circle-triangle-n")
.addClass("icon-circle-arrow-down");
} else if (gridstate === "hidden") {
$(this.grid.cDiv).find(">.ui-jqgrid-titlebar-close>span")
.removeClass("icon-circle-arrow-down ui-icon-circle-triangle-s")
.addClass("icon-circle-arrow-up");
}
}
Zusätzlich braucht man, um die CSS
.ui-jqgrid .ui-jqgrid-titlebar-close>span { margin: 0 3px; font-size: 16px; }
.ui-jqgrid .ui-jqgrid-titlebar-close { text-decoration: none; }
die Sortierung hinzufügen zu beheben Symbole Ich habe den Code verwendet
var $sortables = $grid.closest(".ui-jqgrid")
.find(".ui-jqgrid-htable .ui-jqgrid-labels .ui-jqgrid-sortable span.s-ico");
$sortables.find(">span.ui-icon-triangle-1-s")
.removeClass("ui-icon ui-icon-triangle-1-s")
.addClass("icon-sort-down");
$sortables.find(">span.ui-icon-triangle-1-n")
.removeClass("ui-icon ui-icon-triangle-1-n")
.addClass("icon-sort-up");
und die CSS
.ui-jqgrid .ui-icon-asc { height: auto; margin-top: 0; }
.ui-jqgrid .ui-icon-asc, .ui-jqgrid .ui-icon-desc {
height: auto; margin-top: 0; margin-left: 5px;
}
.ui-jqgrid .s-ico>.ui-state-disabled, .s-ico>.ui-state-disabled { padding: 0; }
Als Ergebnis man folgendes erhalten wird:
AKTUALISIERT 3: In the next demo man kann mehr vollwertiger Ersatz von jQuery UI-Icons finden Ehrfürchtig Font Symbole.
AKTUALISIERT 4: The answer bietet Lösung für Font Awesome Version 4.x.
tolle Antwort, vielen Dank wie immer! –
@PaulBrown: Gern geschehen! Ich habe [die Feature-Anfrage] (http://www.trirand.com/blog/?page_id=393/feature-request/support-of-font-awesome-icons-in-jqgrid/#p27916) zu trirand gepostet. – Oleg
@PaulBrown: In ** AKTUALISIERTER 3 ** Teil meiner Antwort habe ich den Font Awesome Icons einen vollständigen Ersatz der jQuery UI Icons hinzugefügt. – Oleg