我有這個數據表與a4j:支持標籤,以便當有人點擊一行時,我想要顯示或隱藏某些按鈕基於所選行的狀態。Richfaces 3.3 extendedDataTable onRowClick設置數據從上一行點擊
問題是,我的後臺bean中的數據總是一鍵後退。
<rich:extendedDataTable
id="formSummaryTableId"
var="dataSummary"
value="#{FormSearch.summaries}"
binding="#{FormBacking.table}"
selection="#{FormSearch.selection}"
rowKeyVar="rkv"
frozenColCount="0"
sortMode="single" height="500px" width="795px"
cellpadding="0" cellspacing="0" border="0" rowClasses="even, odd"
selectedClass="itemSelected">
<a4j:support event="onRowClick" actionListener="#{FormBacking.onClickForm}"
reRender="DesignerForm:formEditToolbar" />
....
FormBacking.onClickForm
public void onClickForm(ActionEvent e)
{
Iterator<Object> selectionKeys = getFormSearch().getSelection().getKeys();
LOG.info("selectionKeys = "+selectionKeys.hasNext());
if (selectionKeys.hasNext())
{
LOG.info("selectionKeys.next()");
Integer lookupKey = (Integer) selectionKeys.next();
LOG.info("lookupKey = "+lookupKey);
} else {
LOG.info("THERE is no keys");
}
}
編輯
我已經想通了,由於某些原因,當我點擊一排,它沒有得到正確設置。就好像它比我的點擊差一步。例如,如果我單擊我的數據表第1行,我的方法進入「沒有鍵」,但如果我現在單擊第2行,我的方法有我單擊的第一行的鍵。
爲什麼1點擊後?
你是什麼意思,它是之前重新渲染?你能澄清你如何檢查? – Andrey 2013-03-27 06:46:02
我指的是a4j:support標籤的reRender =「DesignerForm:formEditToolbar」。 – Catfish 2013-03-27 13:24:01
我已更新我的問題。 – Catfish 2013-03-27 14:39:29