`

jmesa动态生成表格

    博客分类:
  • java
阅读更多
public String returnHtml(HttpServletRequest request,
    HttpServletResponse response,Map map) throws Exception {
   TableFacade tableFacade = new TableFacadeImpl("ListId", request);
   tableFacade.setColumnProperties("Column1","Column2","Column3","Column4","Column5","Column6");
   tableFacade.setStateAttr("restore");
   tableFacade.setExportTypes(response, EXCEL);
   setMessageDataAndLimitVariables(tableFacade,map);
//   Limit limit = tableFacade.getLimit();
   // 导出数据
   if (tableFacade.getLimit().isExported()) {
    this.exportDataReceive(tableFacade);
    return null;
   }
//   final int rowStart = limit.getRowSelect().getRowStart();
   HtmlTable table = (HtmlTable) tableFacade.getTable();
   table.getTableRenderer().setWidth("98%");
   Row row = table.getRow();  
   HtmlColumn column1 = (HtmlColumn) row.getColumn("Column1");
   column1.setFilterable(false);
   column1.setSortable(false);
   column1.getHeaderRenderer().setHeaderEditor(new SelfDefinedCheckboxHeaderEditor("checkedAll(this)"));
   column1.getCellRenderer().setCellEditor(new CellEditor() {
    public Object getValue(Object item, String property,
      int rowcount) {
     Object value = new BasicCellEditor().getValue(item, "ID",
       rowcount);
     HtmlBuilder html = new HtmlBuilder();
     html.input().type("checkbox").name("messageId").value(value.toString()).end();
     return html.toString();
    }
   });
   HtmlColumn column2= (HtmlColumn) row.getColumn("Column2");
   column2.setTitle("字段名2");
   HtmlColumn column3= (HtmlColumn) row.getColumn("Column3");
   column3.setTitle("字段名3");
   HtmlColumn column4= (HtmlColumn) row.getColumn("Column4");
   column4.setTitle("字段名4");
   column4.setFilterable(false);
   HtmlColumn column5= (HtmlColumn) row.getColumn("Column5");
   column5.setTitle("字段名5");
   column5.getCellRenderer().setCellEditor(new CellEditor() {
    public Object getValue(Object item, String property, int rowcount) {
     Object value = new BasicCellEditor().getValue(item, property, rowcount);
     try {
      return value.toString();
     } catch (Exception e) {
      e.printStackTrace();
      return "";
     }
    }
   });
   HtmlColumn column6= (HtmlColumn) row.getColumn("Column6");
   column6.setTitle("短信内容"); 
    HtmlToolbar toolbar = new HtmlToolbar();
    toolbar.enablePageNumbers(true);
    tableFacade.setToolbar(toolbar);
    return tableFacade.render(); 
  }
protected void setMessageDataAndLimitVariables(TableFacade tableFacade,Map map) throws Exception {
			Limit limit = tableFacade.getLimit();
			if (!limit.isComplete()) {
				int totalRows = this.getTotalMessageCount(map);
				tableFacade.setTotalRows(totalRows);
			}
			int rowStart = limit.getRowSelect().getRowStart();
			int rowEnd = limit.getRowSelect().getRowEnd();
			List<Map> items = this.selectTotalMessage(map, rowStart, rowEnd);
			tableFacade.setItems(items);
		}

public void exportDataReceive(TableFacade tableFacade){
		tableFacade.setColumnProperties("Column2","Column3","Column4","Column5","Column6");
		
		Table table = tableFacade.getTable();
	    //不读中文名字??转码!
	    table.setCaption("data");
	    Row row = table.getRow();
		
	    Column createTime= row.getColumn("Column2");
	    createTime.setTitle("字段2");
		
		Column groupName= row.getColumn("Column3");
		groupName.setTitle("字段3");
		
		Column guestName = row.getColumn("Column4");
		guestName.setTitle("字段4");	
		
		Column cellphone = row.getColumn("Column5");
		cellphone.setTitle("字段5");	
		
		Column msg = row.getColumn("Column6");
		msg.setTitle("字段6");
		
		tableFacade.render(); 
	}

 

HtmlColumn opr = row.getColumn("ID");
		opr.setFilterable(false);
		opr.setSortable(false);
		opr.setTitle("操作");
		if(isSearch){
			opr.getCellRenderer().setCellEditor(new CellEditor() {
				public Object getValue(Object item, String property, int rowcount) {
					Object value = new BasicCellEditor().getValue(item, property, rowcount);
					HtmlBuilder html = new HtmlBuilder();
					html.a().href().quote().append("javascript:selectGuest(").append(
							value.toString()).append(")").quote().title("查看").close();
					html.img().src("../images/new/edit.gif").close();
					html.aEnd();
					html.nbsp();
					return html.toString();
				}
			});	
			HtmlToolbar toolbar = new HtmlToolbar();
			toolbar.enablePageNumbers(true);
			tableFacade.setToolbar(toolbar);
		}else{
			opr.getCellRenderer().setCellEditor(new CellEditor() {
				public Object getValue(Object item, String property, int rowcount) {
					Object value = new BasicCellEditor().getValue(item, property, rowcount);
					HtmlBuilder html = new HtmlBuilder();
					html.a().href().quote().append("javascript:modifyGuest(").append(
							value.toString()).append(")").quote().title("修改").close();
					html.img().src("../images/new/edit.gif").close();
					html.aEnd();
					html.nbsp();
					html.a().href().quote().append("javascript:deleteGuest(")
					.append(value).append(")").quote().title("删除")
					.close();
					html.img().src("../images/del.gif").close();
					html.aEnd();
					return html.toString();
				}
			});
			tableFacade.setToolbar(new ExtraGuestCustomToolbar());
		}

 

分享到:
评论

相关推荐

    Struts2 + Jmesa (表格插件) + Ztree (树形插件) 小例子

    整合的 Struts2 + Jmesa (表格插件) + Ztree (树形插件) 的小例子 里边带齐了 jar包 部署上直接运行 其中数据都是固定数据 没有连接数据库~~~ 共同学习~~

    jmesa-tag

    3. **动态交互**:Jmesa支持动态加载和实时更新,用户可以实时查看数据的变化,无需刷新整个页面。 4. **强大的数据处理**:Jmesa不仅支持基本的数据展示,还具备强大的数据计算和分析能力,能够对表格数据进行复杂...

    jmesa使用说明文档

    1. **Action**:在 Action 类中,你可以调用 `getHtmlTable()` 方法来生成 HTML 表格。 2. **JSP 页面**:在 JSP 页面上,你可以按照文档提供的两种写法来设置表格展示。 3. **效果图**:完成以上步骤后,你会看到...

    jmesa.jar jmesa.jar

    jmesa.jar jmesa.jar

    jmesa-3.0.jar

    jmesa表格标签 依赖包 jmesa-3.0.jar

    Jmesa快速指南

    Jmesa是一款强大的Java表格和分页处理库,尤其适用于Web应用程序。在Struts2框架下集成Jmesa,可以为用户提供直观、高效的数据显示和操作功能。然而,由于相关文档较少,使得在实际应用中可能会遇到一些挑战。本文将...

    jmesa 入门

    JMESa适用于那些需要灵活、动态SQL查询的场景,比如数据清洗、报表生成、复杂数据分析等。 ### 8. 进阶使用 除了基本的查询功能,JMESa还支持子查询、联接、分组、排序等多种SQL特性。通过深入学习其API,开发者...

    jmesa的一个例子

    **Jmesa简介** Jmesa,全称为Java Middleware for Extracting and Analyzing Streams,是一个开源的Java中间件,主要用于处理和分析数据流。它提供了一种高效、灵活的方式来处理实时和近实时的数据流,使得开发者...

    jmesa2.3.4

    4. **可视化**:集成强大的图表绘制功能,可以生成各种类型的图表,帮助用户直观理解数据。 5. **高性能**:jmesa2.3.4充分利用Java的多线程和内存管理优势,确保在处理大规模数据时的高效运行。 三、应用场景 1....

    jmesa核心讲解

    4. **报表生成**:JMESA可以帮助生成各类业务报表,提供给决策者参考。 5. **应用程序集成**:JMESA可以被嵌入到Java应用程序中,提供灵活的数据访问接口。 **学习与进阶:** 对于想要深入了解JMESA的开发者,...

    JMESA SERVLET

    JMESA(Java Model for Export and SpreadSheet Analysis)是一个用于数据导出和电子表格分析的Java库。它提供了一种简单的方法来生成各种格式的文件,如TXT、PDF和Excel,这在Web应用程序中非常有用,特别是对于...

    jmesa-ajax

    JMESA提供了一些API,比如`updateTable()`或者`refreshTable()`,可以方便地实现表格内容的动态更新。这样,用户就可以在不刷新页面的情况下,看到实时更新的数据。 在实际应用中,我们还需要考虑到性能和用户体验...

    jmesa所需完整jar包

    JMESA,全称Java Medical Image Analysis,是一个用于医学图像分析和处理的开源库。它提供了丰富的功能,包括图像显示、处理、分析以及与多种数据格式的交互。这个压缩包包含的是JMESA所需的全部jar包,确保了你在...

    jmesa-2.4.4.jar

    jmesa-2.4.4.jar 有源码

    jmesa war source

    【标题】"jmesa war source" 指的是一个与JMESa相关的WAR源码包,这个包包含了JMESa的2.3版本示例应用的源代码。 【描述】"jmesa-2.3_examples.war-source.zip" 重复三次,暗示这个压缩文件是关于JMESa 2.3版本的...

    jmesa-snapshot.jar

    jmesa-snapshot.jar jmesa用到的jar

    Jmesa示例[分页,排序,导出CSV,EXCEL,PDF]

    3. **导出CSV, EXCEL, PDF**:这涉及到数据导出能力,Jmesa支持将数据显示的表格转换为常见的文件格式,如CSV(逗号分隔值)用于通用的数据交换,Excel用于进一步的数据分析,以及PDF用于打印或共享报告。...

    jmesa-3.0_examples.war-source

    3. 动态数据加载与更新:jmesa支持实时数据流处理,源码可能会展示如何动态加载和更新数据,以及如何实现数据刷新功能。 4. 高级功能:如多维分析、钻取、切片和切块操作,这些都是OLAP(在线分析处理)的核心功能,...

    jmesa-3.0.4.jar

    jmesa-3.0.4 最新版 供大家学习下载

    jmesa入门实例源码

    JMESA的数据类型是动态的,可以自动适应不同大小和维度的数据集。 ### 2. 使用JMESA创建数组和矩阵 在JMESA中,可以通过`Array`类来创建一维数组,通过`Matrix`类创建二维数组(矩阵)。例如,创建一个3x3的二维...

Global site tag (gtag.js) - Google Analytics