posts - 431,  comments - 344,  trackbacks - 0

加入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="&nbsp;" 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 周锐 阅读(1250) 评论(0)  编辑  收藏 所属分类: Ajax

只有注册用户登录后才能发表评论。


网站导航: