📄 tablecontrolactionlistener.java
字号:
package com.esri.solutions.jitk.web.faces.component;
import com.esri.adf.web.data.results.ResultNode;
import com.esri.solutions.jitk.web.data.results.RenderControlledResults;
import com.esri.solutions.jitk.web.data.results.SortedResultsTableModel;
import com.esri.solutions.jitk.web.data.results.TableModel;
import com.esri.solutions.jitk.web.faces.event.TableEvent;
import org.apache.log4j.Logger;
import javax.faces.event.AbortProcessingException;
import javax.faces.event.ActionEvent;
import javax.faces.event.ActionListener;
public class TableControlActionListener implements ActionListener {
private static Logger _logger = Logger.getLogger(TableControlActionListener.class);
public void processAction(ActionEvent event)
throws AbortProcessingException {
TableControl tc = null;
try {
if ((event == null) || !(event instanceof TableEvent)) {
return;
}
if (!(event.getSource() instanceof TableControl)) {
_logger.warn("Invalid event source - aborting action");
_logger.debug(
"Invalid event source - aborting action. Event source is not of type " +
TableControl.class.getName());
return;
}
Object data = ((TableEvent) event).getData();
String action = ((TableEvent) event).getAction();
tc = (TableControl) event.getSource();
if (action != null) {
if ((data != null) && data instanceof ResultNode) {
((ResultNode) data).processAction(action);
} else if (tc.getValue() instanceof SortedResultsTableModel &&
action.toLowerCase().equalsIgnoreCase("sort") &&
(data != null) && data instanceof String) {
SortedResultsTableModel tableModel = (SortedResultsTableModel) tc.getValue();
tableModel.setSortByColumnName((String) data);
//If results are render controlled, request rerender
if (tableModel instanceof RenderControlledResults) {
((RenderControlledResults) tableModel).setShouldRender(true);
}
} else {
TableModel tableModel = (TableModel) tc.getValue();
if ("next".equals(action.toLowerCase())) {
tableModel.setPageIndex(((TableModel) tc.getValue()).getPageIndex() +
1);
} else if ("previous".equals(action.toLowerCase())) {
tableModel.setPageIndex(((TableModel) tc.getValue()).getPageIndex() -
1);
} else if ("first".equals(action.toLowerCase())) {
tableModel.setPageIndex(0);
} else if ("last".equals(action.toLowerCase())) {
tableModel.setPageIndex(((TableModel) tc.getValue()).getPageCount() -
1);
} else {
try {
tableModel.setPageIndex(Integer.parseInt(action) -
1);
} catch (NumberFormatException e) {
_logger.error("Unexpected Action error in event handling phase",
e);
}
}
//If results are render controlled, request rerender
if (tableModel instanceof RenderControlledResults) {
((RenderControlledResults) tableModel).setShouldRender(true);
}
}
}
} catch (Exception ex) {
_logger.error("Unexpected error in event handling phase", ex);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -