根据要显示的字段个数动态生成表格标签table及内容
1.生成table标签方法:
/**/
/**
* 参数fieldName[]是要显示的字段名字的数组,例:
* 如果显示姓名和年龄,那么fieldName[]={"姓名","年龄"};
* 参数data[]是要显示的数据的Hashtable数组,按上面的例子,有两条数据显示:
* data[0].put("姓名","张三"); data[0].put("年龄","24");
* data[1].put("姓名","李四"); data[1].put("年龄","20");
* 数据结构必须正确才能正确的生成表格
*/
public static String creatTable(String fieldName[], Hashtable data[]) ... {
StringBuffer result = new StringBuffer();
result.append("<table border='1'> ");
result.append("<tr> ");
for (int n = 0; n < fieldName.length; n++) ...{
result.append("<td>");
result.append(fieldName[n]);
result.append("</td> ");
}
result.append("</tr> ");
for (int i = 0; i < data.length; i++) ...{
result.append("<tr> ");
for (int j = 0; j < fieldName.length; j++) ...{
result.append("<td>");
result.append(data[i].get(fieldName[j]));
result.append("</td> ");
}
result.append("</tr> ");
}
result.append("</table>");
return result.toString();
}
* 参数fieldName[]是要显示的字段名字的数组,例:
* 如果显示姓名和年龄,那么fieldName[]={"姓名","年龄"};
* 参数data[]是要显示的数据的Hashtable数组,按上面的例子,有两条数据显示:
* data[0].put("姓名","张三"); data[0].put("年龄","24");
* data[1].put("姓名","李四"); data[1].put("年龄","20");
* 数据结构必须正确才能正确的生成表格
*/
public static String creatTable(String fieldName[], Hashtable data[]) ... {
StringBuffer result = new StringBuffer();
result.append("<table border='1'> ");
result.append("<tr> ");
for (int n = 0; n < fieldName.length; n++) ...{
result.append("<td>");
result.append(fieldName[n]);
result.append("</td> ");
}
result.append("</tr> ");
for (int i = 0; i < data.length; i++) ...{
result.append("<tr> ");
for (int j = 0; j < fieldName.length; j++) ...{
result.append("<td>");
result.append(data[i].get(fieldName[j]));
result.append("</td> ");
}
result.append("</tr> ");
}
result.append("</table>");
return result.toString();
}
2.测试
String fieldName[]
=
...
{"姓名","年龄"}
;
Hashtable data[] = new Hashtable[ 2 ];
data[ 0 ] = new Hashtable();
data[ 1 ] = new Hashtable();
data[ 0 ].put( " 姓名 " , " 张三 " );
data[ 0 ].put( " 年龄 " , " 24 " );
data[ 1 ].put( " 姓名 " , " 李四 " );
data[ 1 ].put( " 年龄 " , " 20 " );
System. out .println(creatTable(fieldName,data));
Hashtable data[] = new Hashtable[ 2 ];
data[ 0 ] = new Hashtable();
data[ 1 ] = new Hashtable();
data[ 0 ].put( " 姓名 " , " 张三 " );
data[ 0 ].put( " 年龄 " , " 24 " );
data[ 1 ].put( " 姓名 " , " 李四 " );
data[ 1 ].put( " 年龄 " , " 20 " );
System. out .println(creatTable(fieldName,data));