0

我有一个 jmesa 表,我想在运行时显示 html.toolbar.texts 而不是工具栏上的图标/图像。

我只想为导航图标/图像这样做。

有谁知道如何做到这一点?

4

1 回答 1

0

我需要创建一个自定义导出“按钮”,所以我使用了 TextItem。这是它的代码:

TextItem tItem = new TextItem();
tItem.setText("<div>" + 
            getMessageSourceAccessor().getMessage("pb.export.selected") + "</div>");
ToolbarItemRenderer renderer = new CustomItemRenderer(tItem, getCoreContext(), "selected");
renderer.setOnInvokeAction("onInvokeAction");
tItem.setToolbarItemRenderer(renderer);
addToolbarItem(tItem);

这是自定义渲染器:

public class CustomItemRenderer extends AbstractItemRenderer {
        private String type;

        public CustomItemRenderer(ToolbarItem item, CoreContext coreContext, String type) {
            setToolbarItem(item);
            setCoreContext(coreContext);
            this.type = type;
        }

        @Override
        public String render() {
            ToolbarItem item = getToolbarItem();
            String action = "javascript:jQuery.jmesa.setExportToLimit('promotions','pdf');onInvokeExportAction('promotions'," + type + ");";
            item.setAction(action);
            return item.enabled();
        }
    }

这一切都在我的自定义工具栏实现中完成。可能有一种更简单的方法来做到这一点,但这对我有用。

于 2011-08-31T19:12:37.570 回答