如果使用 fontawesome 图标集,如何将操作按钮添加到免费的 jqgrid 工具栏

How add action button to free jqgrid toolbar if fontawesome icon set is used

FontAwesome 图标集用于免费的 jqgrid。默认操作按钮显示为 fontawesome 按钮。 我试图将自定义字体和一些图标按钮添加到 jqgrid 行。这适用于 jquery ui 图标:

        loadComplete: function() {
            var iCol = getColumnIndexByName($(this),'_actions');
            $(this).children("tbody").children("tr.jqgrow")
               .children("td:nth-child("+(iCol+1)+")")
               .each(function() {
                   $("<div>",
                     {
                         mouseover: function() {
                             $(this).addClass('ui-state-hover');
                         },
                         mouseout: function() {
                             $(this).removeClass('ui-state-hover');
                         },
                         click: function(e) {
                             resetSelection();
                             idsOfSelectedRows = [$(e.target).closest("tr.jqgrow").attr("id")];
                             $("#grid").jqGrid('setSelection', $(e.target).closest("tr.jqgrow").attr("id"), false);
                             $('#grid_postbutton').click();
                         }
                     }
                ).css({"margin-left": "2px", float:"left"})
                 .addClass("ui-pg-div ui-inline-post")
                 // .append('<span class="ui-icon fa-lock"></span>')
                 .append('<span class="ui-icon ui-icon-locked"></span>')
                 .prependTo($(this).children("div"));

我使用

ui-icon-locked 替换为 fa-lock
   .append('<span class="ui-icon fa-lock"></span>')

但是字体真棒图标没有出现。出现类似插入符号的 jquery-ui 图标。 如何添加带有超赞字体图标的按钮?

按如下方式操作:

.append('<span class="fa fa-lock"></span>')

在免费的 jqGrid 4.8 中,您可以做几乎相同的事情来创建自定义按钮。你只需要删除不需要的

.css({"margin-left": "2px", float:"left"})

并替换

.append('<span class="ui-icon ui-icon-locked"></span>')

.append('<span class="fa ui-state-default fa-fw fa-lock"></span>')

你可以在the demo上看到结果:

根据您的具体要求,您可能需要使用 singleSelectClickMode: "selectonly" 来防止在第二次单击同一行时取消选择网格行。

P.S。我会考虑在下一版本的免费 jqGrid 中简化自定义操作按钮的添加。