At the bggining,Sorry! I'm spanish an I don't speck english very well, but I want to try some experience in writing.I hop you can understand me.
Today research jmesa colspan header or bottom, I useing jmesa tag:
jmesa provide abstract class AbstractHtmlView
,extends this class and override render()
method.
The following is a simple intorduction principle: If you look for jmesa source, you need see the
org.jmesa.facade.tag.TableFacadeTag class, The doTag() method
View v = tableFacade.getView();
String html = v.render().toString();
getJspContext().getOut().print(html);
this code, if you override render(),then httmBuild project append you custom html tag,if you not ovrride redirect jmesa internal out html. if the table is more complicated, rewrite up inside the more difficult.
Ok ..... please the the simple code as following:
public class CreateView extends AbstractHtmlView{
public Object render() {
HtmlSnippets snippets = getHtmlSnippets();
HtmlBuilder html = new HtmlBuilder();
html.append(snippets.themeStart());
html.append(snippets.tableStart());
html.append(snippets.theadStart());
html.append(snippets.toolbar());
html.append(snippets.filter());
html.append(addHeader());
// add header
html.append(snippets.header());
html.append(snippets.theadEnd());
html.append(snippets.tbodyStart());
html.append(snippets.body());
html.append(addHtml());
// add footer
html.append(snippets.tbodyEnd());
html.append(snippets.footer());
html.append(snippets.statusBar());
html.append(snippets.tableEnd());
html.append(snippets.themeEnd());
html.append(snippets.initJavascriptLimit());
return html.toString();
}
private String addHeader(){
HtmlBuilder html = new HtmlBuilder();
html.tr(1).styleClass("odd").close();
html.td(2).align("center").close().append("Header - A").tdEnd();
html.td(2).colspan("2").align("center").close().append("Header - B").tdEnd();
html.trEnd(1);
return html.toString();
}
private String addHtml() {
HtmlBuilder html = new HtmlBuilder();
html.tr(1).styleClass("odd").close();
html.td(2).colspan("2").style("border-right: 1px solid white").close().append("Category").tdEnd();
html.td(2).colspan("2").close().append("Subcategory").tdEnd();
html.trEnd(1);
return html.toString();
}
}
view
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="jmesa" uri="http://code.google.com/p/jmesa"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title></title>
<link rel="stylesheet"
href="${pageContext.request.contextPath}/css/jmesa.css"
type="text/css"></link>
<link rel="stylesheet"
href="${pageContext.request.contextPath}/css/jmesa-pdf.css"
type="text/css"></link>
<script type="text/javascript"
src="${pageContext.request.contextPath}/component/js/jmesa.js"></script>
<script type="text/javascript"
src="${pageContext.request.contextPath}/component/js/jmesa.min.js"></script>
<script type="text/javascript"
src="${pageContext.request.contextPath}/component/js/jquery.jmesa.js"></script>
<script type="text/javascript"
src="${pageContext.request.contextPath}/component/js/jquery.jmesa.min.js"></script>
</head>
<body>
<form id="from1">
<jmesa:tableFacade id="employee" items="${employees}"
view="org.jmesa.v.CategoryHierarchyView"
stateAttr="restore" maxRows="8" exportTypes="jexcel,pdf,csv"
maxRowsIncrements="2,4,6,8" var="employee">
<jmesa:htmlTable captionKey="" width="500px" >
<jmesa:htmlRow >
<jmesa:htmlColumn property="name" titleKey="employee.name" >
${employee.name}
</jmesa:htmlColumn>
<jmesa:htmlColumn property="age" titleKey="employee.age">
${employee.age}
</jmesa:htmlColumn>
<jmesa:htmlColumn property="city" titleKey="employee.city">
${employee.city}
</jmesa:htmlColumn>
<jmesa:htmlColumn property="department"
titleKey="employee.department">
${employee.department}
</jmesa:htmlColumn>
</jmesa:htmlRow>
</jmesa:htmlTable>
</jmesa:tableFacade>
<table >
<tr align="left"><td style=" " align="center"></td></tr>
</table>
</form>
<script type="text/javascript">
function onInvokeAction(id) {
$.jmesa.setExportToLimit(id, '');
$.jmesa.createHiddenInputFieldsForLimitAndSubmit(id);
}
function onInvokeExportAction(id) {
var parameterString = $.jmesa.createParameterStringForLimit(id);
location.href = '${pageContext.request.contextPath}/servlet/EmployeeServlet?' + parameterString;
}
</script>
</body>
</html>
image
- 大小: 7.4 KB
分享到:
相关推荐
### Colspan 使用方法详解 在HTML表格中,`colspan`属性是一个非常实用的功能,它允许表格中的单元格跨越多列显示。这对于创建复杂、灵活的表格布局非常有用。接下来,我们将详细介绍`colspan`属性的基本概念、用法...
首先,`colspan` 属性是表格单元格`<td>`或表头单元格`<th>`的一个属性,它的全称是“列跨度”。通过设置 `colspan` 的值,我们可以让一个单元格跨越多个列。例如,如果一个单元格的 `colspan="2"`,那么这个单元格...
{header:_T('Source'),colspan:4,align:'center'}, {header:_T('Destination'),colspan:2,align:'center'}, {colspan:1,rowspan:true}, {colspan:1,rowspan:true}, {colspan:1,rowspan:true}, {colspan:1,...
在示例代码中,`x[0].colSpan="2"`将第一个单元格的`colspan`设置为2,`x[1].colSpan="6"`将第二个单元格的`colspan`设置为6。这使得原本跨越4列的两个单元格合并成一个新的单元格,跨越了2+6=8列,即整个表格宽度。...
与多个标题行和colspan一起使用使用:colspan => 1和:rowspan => 2可以使用多个tr和th。 这就是我们需要的自己。 参见example.html.haml #例子打开example.html来检查行为。 html是使用haml example....
rowspan属性用于定义表格中的单元格(td或th)能够横跨多少行,而colspan属性则用于定义单元格能够横跨多少列。这样的设计允许表格在视觉上展示更为复杂和多样的数据排列,但在使用JavaScript或jQuery进行操作时,就...
在复杂的表格结构中,有的单元格在垂直方向上是跨多个单元格的,这就需要使用跨列属性COLSPAN。 基本语法 <TD COLSPAN=VALUE> 语法解释 VALUE代表单元格跨的列数。 文件范例:10-33.htm 通过COLSPAN属性实现跨列的...
- 在设置`colSpan`和`rowSpan`属性时,属性名应当首字母大写,即`colSpan`和`rowSpan`,这是JavaScript中属性命名的规范。 - 如果要在页面加载完毕之后立即执行脚本,应该将JavaScript代码放置在`<body>`标签的底部...
代码如下:$(“#tableName td:not([colspan])”)下面是一些补充资料:filter()和not(): [removed] $(document).ready(function() { //输出 hello alert($(“p”).filter(“.selected”).html()); //输出 How ...
在JavaScript编程中,统计Table单元格的实际行列位置通常涉及到`rowSpan`和`colSpan`属性的使用。然而,有时我们可能需要避开这些属性,转而利用其他方法来获取单元格的位置信息,例如通过计算其`offsetLeft`值。...
最近在做一个项目,功能... html表头代码: 代码如下: ”header”> ”150″ xss=removed> </td> <td colspan=”2″ xss=removed> </td> <td colspan=”7″>师资力量</td> <td colspan=”14″>科研</td> <td style=”
<td colspan="2">Content Cell <td>Content Cell <td>Content Cell <td>Content Cell 多表格头和多表格身是指在表格中可以设置多个表头(thead)和多个表身(tbody),这在处理复杂的数据组织时非常...
<td colspan="${data.colspan}" rowspan="${data.rowspan}">${data.content} ``` 这里,`data.colspan`和`data.rowspan`是根据业务逻辑计算得出的值,`data.content`是合并单元格内的内容。 4. **注意点**:...
单元格合并主要通过设置`colspan`和`rowspan`属性来实现,这两个属性分别表示单元格跨过的列数和行数。例如,若要合并两列,可以这样设置: ```javascript <td colspan="2">合并后的单元格 ``` 若要通过JavaScript...