加入checkbox的步骤如下:
需要在htmlRow标签中加入 uniqueProperty属性值, 并且修改tableFacade标签为可编辑的
<jmesa:tableFacade
id="suppliersTable"
items="${suppliers}"
maxRows="10"
maxRowsIncrements="10,20,30"
exportTypes="excel"
editable="true"
var="supplier">
<jmesa:htmlTable width="100%" style="text-align:left;">
<jmesa:htmlRow uniqueProperty="id">
然后修改checkbox的渲染列中的渲染器
<jmesa:htmlColumn property="flag" title=" " filterable="false" sortable="false"
worksheetEditor="org.jmesa.worksheet.editor.CheckboxWorksheetEditor"/>
这样checkbox就可以使用了.
下面实现导出功能, 首先如上代码, 需要设置 exportTypes="excel", 这里设置导出excel格式文件.
对应导出还需要增加一个onInvokeExportAction,
function onInvokeExportAction(id) {
var parameterString = createParameterStringForLimit(id);
window.open(path+'/supplier/export.do?' + parameterString);
}
下面来看看后来代码如果处理被选择的行:
@RequestMapping
public void export(HttpServletRequest request, HttpServletResponse response) {
WebContext webContext = new HttpServletRequestWebContext(request);
WorksheetState state = new SessionWorksheetState("suppliersTable", webContext);
Worksheet worksheet = state.retrieveWorksheet();
Collection<WorksheetRow> rows = worksheet.getRows();
List<Long> ids = new ArrayList<Long>();
for (WorksheetRow row : rows) {
ids .add(Long.parseLong(row.getUniqueProperty().getValue()));
}
List<Supplier> suppliers = new ArrayList<Supplier>();
if (!ids.isEmpty()) {
suppliers = cimssupplierService.getSuppliersByIds(ids);
}
ExcelUtil.writeSuppliers(response, suppliers);
}
主要是绿色代码如果获取页面上的一些信息.
posted on 2009-06-04 17:06
周锐 阅读(1263)
评论(0) 编辑 收藏 所属分类:
Ajax