gridbeanhelper.java
来自「OperaMasks是一种基于J2EE的Web开发技术」· Java 代码 · 共 289 行
JAVA
289 行
/*
* $Id: GridBeanHelper.java,v 1.5 2008/11/19 01:31:48 libin Exp $
*
* Copyright (C) 2006 Operamasks Community.
* Copyright (C) 2000-2006 Apusic Systems, Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see http://www.gnu.org/licenses.
*/
package demo.grid;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.operamasks.faces.component.Align;
import org.operamasks.faces.component.grid.CellSelectionModel;
import org.operamasks.faces.component.grid.CheckboxSelectionModel;
import org.operamasks.faces.component.grid.GridColumn;
import org.operamasks.faces.component.grid.GridColumnModel;
import org.operamasks.faces.component.grid.GridHeader;
import org.operamasks.faces.component.grid.GridHeaderCell;
import org.operamasks.faces.component.grid.GridHeaderModel;
import org.operamasks.faces.component.grid.GridSelectionModel;
import org.operamasks.faces.component.grid.provider.GridRowDataProvider;
import org.operamasks.faces.component.grid.provider.GridViewProvider;
import demo.StockBean.Quote;
import demo.grid.GridDataModel.TrainRecord;
public class GridBeanHelper {
public static Quote[] stockData = new Quote[] { new Quote("3m Co.", 71.72),
new Quote("Alcoa Inc", 29.01),
new Quote("Altria Group Inc.", 83.81),
new Quote("American Express Company", 52.55),
new Quote("American International Group, Inc.", 64.13),
new Quote("Apusic Systems, Inc.", 87.08),
new Quote("AT&T Inc.", 31.61), new Quote("Boeing Co.", 75.43),
new Quote("Caterpillar Inc.", 67.27),
new Quote("Citigroup, Inc.", 49.37),
new Quote("E.I. du Pont de Nemours and Company", 40.48),
new Quote("Exxon Mobil Corp", 68.1),
new Quote("General Electric Company", 34.14),
new Quote("General Motors Corporation", 30.27),
new Quote("Hewlett-Packard Co.", 36.53),
new Quote("Honeywell Intl Inc.", 38.77),
new Quote("Intel Corporation", 19.88),
new Quote("International Business Machines", 81.41),
new Quote("Johnson & Johnson", 64.72),
new Quote("JP Morgan & Chase & Co", 45.73),
new Quote("McDonald's Corporation", 36.76),
new Quote("Merck & Co., Inc.", 40.96), };
public static List<TrainRecord> trainRecord = new ArrayList<TrainRecord>(
Arrays.asList(new TrainRecord[] {
new TrainRecord("左敏", "Server Train", 2),
new TrainRecord("丁俊杰", "MQ Train", 1),
new TrainRecord("罗帆", "Apusic Studio Train", 1),
new TrainRecord("张东", "Server Train", 3),
new TrainRecord("王冠雄", "MQ Train", 1),
new TrainRecord("张勇", "AOM Train", 2), }));
public static GridColumnModel createStockColumnModel() {
GridColumnModel model = new GridColumnModel();
GridColumn column = new GridColumn("company");
column.setWidth(240);
column.setAlign(Align.LEFT);
column.setEnableSort(true);
model.addColumn(column);
column = new GridColumn("price");
model.addColumn(column);
column.setAlign(Align.RIGHT);
column = new GridColumn("change");
model.addColumn(column);
column = new GridColumn("change_percent");
model.addColumn(column);
column = new GridColumn("lastupdate");
column.setConverter("outputDateFormatter");
column.setWidth(200);
model.addColumn(column);
column = new GridColumn("comment");
column.setHidden(true);
model.addColumn(column);
model.setShowRowNumber(true);
return model;
}
public static GridColumnModel createTrainColumnModel() {
GridColumnModel model = new GridColumnModel();
GridColumn column = new GridColumn("employeeName");
column.setWidth(240);
column.setAlign(Align.LEFT);
column.setEnableSort(true);
model.addColumn(column);
column = new GridColumn("trainItem");
model.addColumn(column);
column.setAlign(Align.RIGHT);
column = new GridColumn("trainHours");
model.addColumn(column);
column = new GridColumn("trainDate");
column.setConverter("outputDateFormatter");
model.addColumn(column);
column = new GridColumn("id");
column.setHidden(true);
model.addColumn(column);
model.setShowRowNumber(true);
return model;
}
public static GridHeaderModel createStandardTrainHeader() {
GridHeaderModel model = new GridHeaderModel();
GridHeader header = new GridHeader();
GridHeaderCell cell;
header = new GridHeader();
cell = new GridHeaderCell("职员");
cell.setAlign(Align.CENTER);
header.addCell(cell);
cell = new GridHeaderCell("培训项目");
cell.setAlign(Align.CENTER);
header.addCell(cell);
cell = new GridHeaderCell("培训课时");
header.addCell(cell);
cell = new GridHeaderCell("培训日期");
header.addCell(cell);
model.addHeader(header);
return model;
}
public static GridHeaderModel createStandardStockHeader() {
GridHeaderModel model = new GridHeaderModel();
GridHeader header = new GridHeader();
GridHeaderCell cell;
header = new GridHeader();
cell = new GridHeaderCell("公司");
cell.setAlign(Align.CENTER);
header.addCell(cell);
cell = new GridHeaderCell("价格");
cell.setAlign(Align.CENTER);
header.addCell(cell);
cell = new GridHeaderCell("百分比");
header.addCell(cell);
cell = new GridHeaderCell("变化");
header.addCell(cell);
cell = new GridHeaderCell("最后更新");
header.addCell(cell);
model.addHeader(header);
return model;
}
public static GridHeaderModel createMultiStockHeader() {
GridHeaderModel model = new GridHeaderModel();
GridHeader header = new GridHeader();
GridHeaderCell cell;
cell = new GridHeaderCell("全部信息");
cell.setColspan(5);
header.addCell(cell);
model.addHeader(header);
header = new GridHeader();
cell = new GridHeaderCell("公司");
cell.setAlign(Align.CENTER);
cell.setRowspan(2);
header.addCell(cell);
cell = new GridHeaderCell("价格");
cell.setAlign(Align.CENTER);
cell.setRowspan(2);
header.addCell(cell);
cell = new GridHeaderCell("变化的值");
cell.setColspan(2);
header.addCell(cell);
cell = new GridHeaderCell("最后更新");
cell.setRowspan(2);
header.addCell(cell);
model.addHeader(header);
header = new GridHeader();
cell = new GridHeaderCell("变化");
header.addCell(cell);
cell = new GridHeaderCell("百分比");
header.addCell(cell);
model.addHeader(header);
return model;
}
@SuppressWarnings("serial")
public static GridRowDataProvider getTrainRowProvider() {
return new GridRowDataProvider() {
public Object getLabel(Object rowData, GridColumn column) {
String id = column.getId();
TrainRecord data = (TrainRecord) rowData;
if ("employeeName".equals(id)) {
return data.getEmployeeName();
} else if ("trainItem".equals(id)) {
return data.getTrainItem();
} else if ("trainHours".equals(id)) {
return data.getTrainHours();
} else if ("trainDate".equals(id)) {
return data.getTrainDate();
}
return null;
}
};
}
@SuppressWarnings("serial")
public static GridViewProvider getTrainViewProvider() {
return new GridViewProvider() {
public GridColumnModel getColumnModel(Object input) {
return GridBeanHelper.createTrainColumnModel();
}
public GridHeaderModel getHeaderModel(Object input) {
return GridBeanHelper.createStandardTrainHeader();
}
public GridSelectionModel getSelectionModel(Object input) {
return new CellSelectionModel();
}
};
}
@SuppressWarnings("serial")
public static GridRowDataProvider getStockRowProvider() {
return new GridRowDataProvider() {
public Object getLabel(Object rowData, GridColumn column) {
String id = column.getId();
Quote data = (Quote) rowData;
if ("company".equals(id)) {
return data.getCompany();
} else if ("price".equals(id)) {
return String.valueOf(data.getPrice());
} else if ("change".equals(id)) {
return String.valueOf(data.getChange());
} else if ("change_percent".equals(id)) {
return String.valueOf(data.getPctChange());
} else if ("lastupdate".equals(id)) {
return data.getLastUpdated();
}
return null;
}
};
}
@SuppressWarnings("serial")
public static GridViewProvider getStockViewProvider() {
return new GridViewProvider() {
public GridColumnModel getColumnModel(Object input) {
return GridBeanHelper.createStockColumnModel();
}
public GridHeaderModel getHeaderModel(Object input) {
return GridBeanHelper.createMultiStockHeader();
}
public GridSelectionModel getSelectionModel(Object input) {
return new CheckboxSelectionModel();
}
};
}
@SuppressWarnings("serial")
public static GridViewProvider getSingleHeaderStockViewProvider() {
return new GridViewProvider() {
public GridColumnModel getColumnModel(Object input) {
return GridBeanHelper.createStockColumnModel();
}
public GridHeaderModel getHeaderModel(Object input) {
return GridBeanHelper.createStandardStockHeader();
}
public GridSelectionModel getSelectionModel(Object input) {
return new CheckboxSelectionModel();
}
};
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?