次のような JSF テーブルを作成しました。
<c:dataTable value="#{myViewController.all}" id="myViewTable" var="T" selection="#{myOtherView.select}" selectionMode="single" update="otherView>
<c:column filterBy="#{T.name}" sortBy="#{T.name}">
<f:facet name="header">
<h:outputText value="Name"/>
</f:facet> <h:outputText value="#{T.name}"/>
</c:column>
このテーブル内に名前 = a と名前 = b の 2 つのエントリがあるとします。myOtherView.select のメソッドは
@SelectEvent
public void setSelect(Object value) {
}
setSelect メソッドで値をデバッグしました。ビューを初めて開いたとき、テーブルから最初の行を選択しましたが、値は実際には a です。次に、「名前」のヘッダーを押すと、テーブルに表示されるエントリが b の次に a になります。そして、テーブルから最初の行を選択しましたが、値はまだ a です。ではありません.....なぜこれが起こったのか知っている人はいますか? **