IE(Internet Explore)8では、ウィンドウで縦スクロールバーが表示されないという不具合がありますが、ソースコードを少し修正する事で表示させる事ができます。
IE8は、基本的に使われなくなってきているので、このカスタマイズは、JPiereの導入を希望する企業に対して、個別に適用しています。
事象
【技術情報】IE8で縦スクロールバーを表示する
IE8で縦スクロールバーを表示するためには、org.adempiere.ui.zkプロジェクト(バンドル)のorg.adempiere.webui.adwindowパッケージのADTabpanelクラスの修正します。
370行目付近:修正前
else
{
Vlayout div = new Vlayout();
div.setSclass("adtab-form");
div.appendChild(form);
div.setStyle("overflow-y: visible;");
div.setVflex("1");
div.setWidth("100%");
div.setSpacing("0px");
Borderlayout layout = new Borderlayout();
layout.setParent(this);
layout.setSclass("adtab-form-borderlayout");
Center center = new Center();
layout.appendChild(center);
center.appendChild(div);
formContainer = layout;
}
370行目付近:修正後
else
{
Vlayout div = new Vlayout();
div.setSclass("adtab-form");
div.appendChild(form);
//JPIERE-2 Modify ADTabpanel#init() by Hideaki Hagiwara
if ( AEnv.isInternetExplorer() &&
(Servlets.getBrowser((ServletRequest) Executions.getCurrent().getNativeRequest(), "ie").intValue() < 9))
{
div.setStyle("overflow-y: scroll;");
}else{
div.setStyle("overflow-y: visible;");
} //JPiere-2 Finish
div.setVflex("1");
div.setWidth("100%");
div.setSpacing("0px");
Borderlayout layout = new Borderlayout();
layout.setParent(this);
layout.setSclass("adtab-form-borderlayout");
Center center = new Center();
layout.appendChild(center);
center.appendChild(div);
formContainer = layout;
}
この修正を行うためには次のクラスをインポートする必要があります。
- import javax.servlet.ServletRequest;
- import org.adempiere.webui.apps.AEnv;
- import org.zkoss.web.servlet.Servlets;