Jsp文件<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<%@ taglib prefix="l" uri="http://www.apusic.com/jsf/layout" %>
<%@ taglib prefix="w" uri="http://www.apusic.com/jsf/widget" %>
<%@ taglib prefix="ajax" uri="http://www.apusic.com/jsf/ajax" %>
<%@ taglib prefix="om" uri="http://www.apusic.com/jsf/misc"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<f:view>
<om:useBean value="ReportBean"></om:useBean>
<w:page title="报表一览">
<w:head>
<link href="../../css/main.css" rel="stylesheet" type="text/css">
</w:head>
<h3>仓库一览</h3>
<w:form style="height:95%" transient="true">
<w:dataGrid paged="true" rows="10" id="storageDataGrid" binding="#{ReportBean.storageDataGrid}"
var="data" >
</w:dataGrid>
</w:form>
</w:page>
</f:view>
JavaBean文件package com.vms;import java.util.ArrayList;
import java.util.List;
import java.util.Map;import org.operamasks.faces.annotation.Bind;
import org.operamasks.faces.annotation.ComponentAttributes;
import org.operamasks.faces.annotation.ManagedBean;
import org.operamasks.faces.annotation.ManagedBeanScope;
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.impl.UIDataGrid;
import org.operamasks.faces.component.grid.provider.GridRowDataProvider;
import org.operamasks.faces.component.grid.provider.GridViewProvider;/*
* 创建日期 Jun 17, 2008
*
* TODO 填写文件功能
*/
@ManagedBean(name="ReportBean",scope = ManagedBeanScope.SESSION)
public class ReportBean {
/**
* 绑定页面的DataGrid组件
*/
@Bind(id="storageDataGrid", attribute="binding")
private UIDataGrid storageDataGrid;
/*
public List<Storage> getStorages() {
return storages;
}
*/
@Bind(id = "storageDataGrid", attribute = "value")
//private List<Storage> storages = getReportDataGridValues();
//private List<Storage> storages = initStorage();
private List<Storage> storages = Storage.samples();
public UIDataGrid getGrid() {
return storageDataGrid;
}
public void setGrid(UIDataGrid storageDataGrid){
this.storageDataGrid = storageDataGrid;
}
private List<Storage> initStorage(){
List<Storage> items=new ArrayList<Storage>();
Storage item = new Storage();
item.setId("001");
item.setName("北京海淀1库");
item.setAddr("海淀区上地环岛东");
items.add(item);
item = new Storage();
item.setId("002");
item.setName("北京昌平1库");
item.setAddr("昌平区回龙观");
items.add(item);
item = new Storage();
item.setId("003");
item.setName("北京宣武1库");
item.setAddr("宣武区长椿街");
items.add(item);
return items;
}
//
// /* 数据加载 */
// @DataModel(id="storageDataGrid")
private List<Storage> getReportDataGridValues() {
List<Storage> items=new ArrayList<Storage>();
System.out.println("getReportDataGridValues()");
items.add( new Storage("001","北京海淀1库","海淀区上地环岛东"));
items.add( new Storage("002","北京昌平1库","昌平区回龙观"));
items.add( new Storage("003","北京宣武1库","宣武区长椿街"));
System.out.println(items.get(0).getAddr());
return items;
} /*设置Grid视图*/
@Bind(id = "storageDataGrid", attribute = "viewProvider")
private GridViewProvider viewProvider = new GridViewProvider() {
//GridViewProvider 是一接口,需要我们实现如下三个方法
//getColumnModel 为Grid的数据列模型,
public GridColumnModel getColumnModel(Object input) {
GridColumnModel model = new GridColumnModel();
//新增列,指定id为email
GridColumn column = new GridColumn("id");
//并将该列设置为隐藏列
//column.setHidden(true);
model.addColumn(column);
//新增列,指定id为name
column = new GridColumn("name");
//指定宽度为150
column.setWidth(150);
//可以排序
column.setEnableSort(true);
//添加到grid的数据模型
model.addColumn(column);
//新增列,指定id为addr
column = new GridColumn("addr");
model.addColumn(column);
//在展示数据的时候,显示行号
model.setShowRowNumber(true);
return model;
}
public GridHeaderModel getHeaderModel(Object input) {
GridHeaderModel model = new GridHeaderModel();
GridHeader header = new GridHeader();
GridHeaderCell cell;
cell = new GridHeaderCell("仓库ID");
header.addCell(cell);
//新增列的头单元,并命名为"名称"
cell = new GridHeaderCell("名称");
header.addCell(cell);
//新增列的头单元,并命名为"地址"
cell = new GridHeaderCell("地址");
header.addCell(cell);
model.addHeader(header);
return model;
}
public GridSelectionModel getSelectionModel(Object input) {
System.out.println("getSelectionModel_Hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
return null;
}
};
//设置行
@Bind(id = "storageDataGrid", attribute = "rowDataProvider")
public GridRowDataProvider rowProvider = new GridRowDataProvider() {
//其中 rowData为每行数据,column 为列信息。
//通过column.getId可以获得上面定义的列ID
public Object getLabel(Object rowData, GridColumn column) {
System.out.println("getLabel_Hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
//获取当前列的ID
String id = column.getId();
System.out.println(id);
Storage user = (Storage) rowData;
//判断,根据不同的id,展示不同的数据,如果上面的Grid的数据列模型设置了转换,那么会自动调用
if ("name".equals(id)) {
//列的id是name,显示用户名
return user.getName();
} else if ("addr".equals(id)) {
//列的id是email,显示电子邮件
return user.getAddr();
}
return null;
}
};
} 如果用在后台用 @Datamodel填充数据
@DataModel(id="storageDataGrid")
private List<Storage> getReportDataGridValues() {
List<Storage> items=new ArrayList<Storage>();
System.out.println("getReportDataGridValues()");
items.add( new Storage("001","北京海淀1库","海淀区上地环岛东"));
items.add( new Storage("002","北京昌平1库","昌平区回龙观"));
items.add( new Storage("003","北京宣武1库","宣武区长椿街"));
System.out.println(items.get(0).getAddr());
return items;
}
Datagrid验证时出现空指针错误
望AOM高手指点。
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<%@ taglib prefix="l" uri="http://www.apusic.com/jsf/layout" %>
<%@ taglib prefix="w" uri="http://www.apusic.com/jsf/widget" %>
<%@ taglib prefix="ajax" uri="http://www.apusic.com/jsf/ajax" %>
<%@ taglib prefix="om" uri="http://www.apusic.com/jsf/misc"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<f:view>
<om:useBean value="ReportBean"></om:useBean>
<w:page title="报表一览">
<w:head>
<link href="../../css/main.css" rel="stylesheet" type="text/css">
</w:head>
<h3>仓库一览</h3>
<w:form style="height:95%" transient="true">
<w:dataGrid paged="true" rows="10" id="storageDataGrid" binding="#{ReportBean.storageDataGrid}"
var="data" >
</w:dataGrid>
</w:form>
</w:page>
</f:view>
JavaBean文件package com.vms;import java.util.ArrayList;
import java.util.List;
import java.util.Map;import org.operamasks.faces.annotation.Bind;
import org.operamasks.faces.annotation.ComponentAttributes;
import org.operamasks.faces.annotation.ManagedBean;
import org.operamasks.faces.annotation.ManagedBeanScope;
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.impl.UIDataGrid;
import org.operamasks.faces.component.grid.provider.GridRowDataProvider;
import org.operamasks.faces.component.grid.provider.GridViewProvider;/*
* 创建日期 Jun 17, 2008
*
* TODO 填写文件功能
*/
@ManagedBean(name="ReportBean",scope = ManagedBeanScope.SESSION)
public class ReportBean {
/**
* 绑定页面的DataGrid组件
*/
@Bind(id="storageDataGrid", attribute="binding")
private UIDataGrid storageDataGrid;
/*
public List<Storage> getStorages() {
return storages;
}
*/
@Bind(id = "storageDataGrid", attribute = "value")
//private List<Storage> storages = getReportDataGridValues();
//private List<Storage> storages = initStorage();
private List<Storage> storages = Storage.samples();
public UIDataGrid getGrid() {
return storageDataGrid;
}
public void setGrid(UIDataGrid storageDataGrid){
this.storageDataGrid = storageDataGrid;
}
private List<Storage> initStorage(){
List<Storage> items=new ArrayList<Storage>();
Storage item = new Storage();
item.setId("001");
item.setName("北京海淀1库");
item.setAddr("海淀区上地环岛东");
items.add(item);
item = new Storage();
item.setId("002");
item.setName("北京昌平1库");
item.setAddr("昌平区回龙观");
items.add(item);
item = new Storage();
item.setId("003");
item.setName("北京宣武1库");
item.setAddr("宣武区长椿街");
items.add(item);
return items;
}
//
// /* 数据加载 */
// @DataModel(id="storageDataGrid")
private List<Storage> getReportDataGridValues() {
List<Storage> items=new ArrayList<Storage>();
System.out.println("getReportDataGridValues()");
items.add( new Storage("001","北京海淀1库","海淀区上地环岛东"));
items.add( new Storage("002","北京昌平1库","昌平区回龙观"));
items.add( new Storage("003","北京宣武1库","宣武区长椿街"));
System.out.println(items.get(0).getAddr());
return items;
} /*设置Grid视图*/
@Bind(id = "storageDataGrid", attribute = "viewProvider")
private GridViewProvider viewProvider = new GridViewProvider() {
//GridViewProvider 是一接口,需要我们实现如下三个方法
//getColumnModel 为Grid的数据列模型,
public GridColumnModel getColumnModel(Object input) {
GridColumnModel model = new GridColumnModel();
//新增列,指定id为email
GridColumn column = new GridColumn("id");
//并将该列设置为隐藏列
//column.setHidden(true);
model.addColumn(column);
//新增列,指定id为name
column = new GridColumn("name");
//指定宽度为150
column.setWidth(150);
//可以排序
column.setEnableSort(true);
//添加到grid的数据模型
model.addColumn(column);
//新增列,指定id为addr
column = new GridColumn("addr");
model.addColumn(column);
//在展示数据的时候,显示行号
model.setShowRowNumber(true);
return model;
}
public GridHeaderModel getHeaderModel(Object input) {
GridHeaderModel model = new GridHeaderModel();
GridHeader header = new GridHeader();
GridHeaderCell cell;
cell = new GridHeaderCell("仓库ID");
header.addCell(cell);
//新增列的头单元,并命名为"名称"
cell = new GridHeaderCell("名称");
header.addCell(cell);
//新增列的头单元,并命名为"地址"
cell = new GridHeaderCell("地址");
header.addCell(cell);
model.addHeader(header);
return model;
}
public GridSelectionModel getSelectionModel(Object input) {
System.out.println("getSelectionModel_Hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
return null;
}
};
//设置行
@Bind(id = "storageDataGrid", attribute = "rowDataProvider")
public GridRowDataProvider rowProvider = new GridRowDataProvider() {
//其中 rowData为每行数据,column 为列信息。
//通过column.getId可以获得上面定义的列ID
public Object getLabel(Object rowData, GridColumn column) {
System.out.println("getLabel_Hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
//获取当前列的ID
String id = column.getId();
System.out.println(id);
Storage user = (Storage) rowData;
//判断,根据不同的id,展示不同的数据,如果上面的Grid的数据列模型设置了转换,那么会自动调用
if ("name".equals(id)) {
//列的id是name,显示用户名
return user.getName();
} else if ("addr".equals(id)) {
//列的id是email,显示电子邮件
return user.getAddr();
}
return null;
}
};
} 如果用在后台用 @Datamodel填充数据
@DataModel(id="storageDataGrid")
private List<Storage> getReportDataGridValues() {
List<Storage> items=new ArrayList<Storage>();
System.out.println("getReportDataGridValues()");
items.add( new Storage("001","北京海淀1库","海淀区上地环岛东"));
items.add( new Storage("002","北京昌平1库","昌平区回龙观"));
items.add( new Storage("003","北京宣武1库","宣武区长椿街"));
System.out.println(items.get(0).getAddr());
return items;
}
Datagrid验证时出现空指针错误
望AOM高手指点。
解决方案 »
- myeclipse+sql2005无法获取session
- java里如何做异步通知机制
- 用SSH做项目会用到哪些集合类啊
- 关于Struts与Struts2的学习问题。
- 一个目录树的父子节点有4千多或更多,现在用以前的XTREE出现了读取不出的错误.请问用什么比较好,对于数据量较大的数据
- ibatis奇怪"There is no statement named"问题
- web service 问题
- 问个torque的count(*)问题,有人比较熟吗?
- 有谁知道iPlanet如何配置EJB
- springboot 单元测试运行报错 在线求助
- socket与门禁通讯的问题
- 如何用java应用程序获取cpu的利用率和内存的使用率还有根据文件系统名称 取得某个文件系统的空间利用率取得某个进程是否存在
楼主截止到2008-06-18 17:32:32的汇总数据:
发帖数:6
结贴数:4
结贴率:66.67%
楼主加油