加入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
周銳 閱讀(1279)
評論(0) 編輯 收藏 所屬分類:
Ajax