jmesa テーブルがあり、実行時にツールバーのアイコン/画像の代わりに html.toolbar.texts を表示したいと考えています。
ナビゲーションアイコン/画像に対してのみそれを行いたいです。
誰もこれを行う方法を知っていますか?
カスタムのエクスポート「ボタン」を作成する必要があったため、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();
}
}
これはすべて、カスタム ツールバーの実装で行われます。もっと簡単な方法があるかもしれませんが、これは私にとってはうまくいきます。