IE8 で複数のオプションを使用しているときにパフォーマンスの問題に直面しています (残念ながら、IE8 は私のプロジェクトの公式ブラウザーです)。
Primeface の例を 1 つずつたどりますが、それでも IE でのユーザー エクスペリエンスは非常に貧弱で、選択が非常に遅いことを意味します。
興味深い部分は、4.0 を使用する ShowCase の例 (私は 3.4 を使用しています) が IE8 経由で非常にうまく機能していることです (リストが小さいためか?)。
<p:dataTable id="tmpCoreTable"
var="acq"
value="#{report.dataModel}"
selection="#{report.selected}"
paginator="true"
rows="10">
<f:facet name="header">
Base
</f:facet>
<p:column selectionMode="multiple"/>
<p:column headerText="id">
<h:outputText value="#{acq.rowNum}"/>
</p:column>
<p:column headerText="network code">
<h:outputText value="#{acq.networkCode}" />
</p:column>
</p:dataTable>
public class ReportBean implements Serializable {
private TmpDataModel dataModel;
private List<Report> list;
private Report[] selected;
public ReportBean() {
list = new ArrayList<Report>();
// db
list.addAll(ReportHelper.getAll());
dataModel = new TmpDataModel(list);
}
public class TmpDataModel extends ListDataModel<Report> implements SelectableDataModel<Report> {
public TmpDataModel() {
}
public TmpDataModel(List<Report> data) {
super(data);
}
@Override
public Object getRowKey(Report t) {
return t.getRowNum();
}
@Override
public Report getRowData(String rowKey) {
List<Report> cars = (List<Report>) getWrappedData();
for (Report r : cars) {
if (String.valueOf(r.getRowNum()).equals(rowKey)) {
return for1;
}
}
return null;
}
}
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<f:view>
<h:head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=UTF-8"/>
<script type="text/javascript" language="Javascript" src="resources/js/adm_js.js" />
<h:outputScript name="jsf.js" library="javax.faces" target="head"/>
<ui:insert name="head"/>
</h:head>
<h:body>
<h:outputStylesheet name="css/adm_css.css"/>
<ui:insert name="content"/>
</h:body>
</f:view>
ps: アプリを IE9 でテストしたところ、より高速に動作しましたが、ShowCase の例が IE8 で動作する理由と方法をまだ理解していません。
どんなアドバイスもとても役に立ちます
ありがとう