整体思想就是让list包含list
反回list的dao方法
public List getAllGoods(String strcurrentP,String strcurrentG,String goWhich) throws SQLException{
String sqlall="select * from goods order by goodsStocktime desc";
setDaoPage(sqlall,null,strcurrentP, strcurrentG, goWhich);
int currentP=getDaoPage().getCurrentP();
int top1=getDaoPage().getPerR();
int top2=(currentP-1)*top1;
String sqlsub="";
if(currentP==1){
sqlsub="select * from goods order by goodsStocktime desc";
}
else
{
sqlsub="select * from goods order by goodsStocktime desc limit "+top1+","+top2+"";
}
List alllist=getList(sqlsub,null);
List goodslist=divide(alllist,top1);
return goodslist;
}
分隔list的方法 perR其实就是一页当中要放多少数据,然后再放到这里来分隔
private List divide(List list,int perR){
List goodslist=null;
if(list!=null){
goodslist=new ArrayList();
/* ①首先补齐长度 */
int blank=perR-list.size(); //因为每页显示perR条记录,所以list的长度只能等于perR或小于perR
if(blank>0){ //若list的长度小于perR,则向list中存放blank个null值,将list长度补齐到perR
for(int i=0;i<blank;i++)
list.add(null);
}
/* ②然后进行划分 */
for(int i=0;i<3;i++){ //平均分成3份
List temp=new ArrayList();
for(int j=0;j<4;j++){ //将每份中的元素存储到temp中
temp.add(list.get(4*i+j));
}
goodslist.add(temp); //存储temp到medialist中
}
}
return goodslist;
页面上遍列代码,我这里是遍列是遍列一个一个表格的行,外层的遍列行,就可以形成多行,里层遍列多个列
<c:forEach var="oneGoodsList" items="${allgoodslist}" >
<tr>
<c:forEach var="goods" items="${oneGoodsList}">
<td>
<c:if test="${!empty goods}">
<span style="{width:100px;height:100px;border:1px solid #990000;text-align:center}">
<br><br>商品图片</span><br>
商品名称:<c:out value="${goods.goodsName}"></c:out><br>
商品价格:<c:out value="${goods.goodsPrice}"></c:out> <br>
<A HREF="viewgoods?goodId=${goods.id}" target="_blank"">查看详细信息</A>
</c:if>
</td>
</c:forEach>
</tr>
<tr height="3" bgcolor="green" ><td colspan="4"></td></tr>
</c:forEach>
分享到:
相关推荐
在数据分析过程中,有时需要对DataFrame的数据结构进行调整,如将一列拆分为多列或把一行数据拆分成多行。Python的pandas库中的DataFrame提供了丰富的功能来处理这类问题。以下我们将详细介绍如何实现这两个目标。 ...
本文将详细讲解如何利用Div+CSS实现多列布局,包括一行三列和一行多列的布局方法。 首先,我们来分析给出的CSS代码片段: ```css .myDiv { width: 300px; border: 1px solid #000; border-right: 0; height: ...
在MySQL数据库中,有时我们需要将具有相同分组标识的多行数据合并成一行,以便于数据分析和报告。这里,我们主要关注的是`GROUP_CONCAT`函数,它是一种非常实用的SQL聚合函数,能够帮助我们实现这个目标。下面,我们...
在VC++(Visual C++)开发环境中,ListCtrl控件是一种常见的用户界面元素,用于显示多列、多行的数据。将TXT文件中的内容读取到ListCtrl控件中是常见的数据展示需求。以下是一个详细的过程,指导如何实现这一功能。 ...
- `div item`:用于多行多列的布局。 - `[A]`,`[B]`,`[C]`,`[on]`:用于表示不同状态的元素。 8. **属性命名**: - `Profile`:用于色彩和背景等属性的命名。 9. **网站常用模块的中英文对照**: - ...
Tabular Form是Oracle APEX中一种非常重要的页面类型,它允许用户在一个表格中查看、编辑多行数据记录,非常适合于处理大量数据的情况。通过本教程的学习,您将能够掌握如何创建和管理Tabular Form。 #### 二、使用...
- **action_list**: 要执行的操作列表,可以用逗号分隔多个操作。 **操作示例:** - **ADD[COLUMN]**: 向表中添加一列。 - `ADD COLUMN col_name data_type;` // 添加名为 col_name 的新列,并指定数据类型 data_...
4. **列表控件(List Control)**:列表控件用于显示一列或多列的数据,可以是单选或多选模式。列表控件适用于显示大量信息,例如联系人列表或任务列表。在示例代码中,你将学习如何添加、删除和修改列表项,以及...
这些题目涵盖了计算机基础知识的多个方面,包括数据库管理(MySQL)、编程语言(如Java和SQL)、操作系统(Windows)、软件工程、数据结构、网络应用、以及办公软件的使用(Word和Excel)。下面是对每个知识点的详细...
将列的`imagelist`属性设置为`img1`,然后在`keylist`属性中列出与数据相对应的值。确保这些值与`imagelist`中的图片顺序一一对应。 以上是DBGridEh组件在实际应用中的几个关键点,通过这些定制,开发者可以创建出...
04186删除多行或多列 04187删除工作表的全部单元格 04188移动单元格 04189复制单元格(复制全部内容) 04190复制单元格的值(PasteSpecial方法) 04191复制单元格的值(Value属性) 04192复制单元格的数据和公式...
超级列表框是易语言中一种功能强大的控件,用于显示多行、多列的数据,类似于电子表格。它可以用来展示复杂的数据结构,并且允许用户进行排序、选择和编辑。在实际应用中,我们可能需要将用户在超级列表框中输入或...
- 将结果集反向转置为一列:将多行数据合并为单个字段。 - 抑制结果集中的重复值:使用DISTINCT关键字。 - 利用“行转列”进行计算:在转换后的数据上进行分析计算。 - 给数据分组:使用GROUP BY子句对数据进行...
超级列表框是易语言中的一个重要控件,它可以显示多列数据,每列可以有不同的数据类型,如文本、数字等。它常用于展示列表形式的数据,用户可以进行选择、排序等操作。在编程时,我们需要设置列表框的列数、每列的...
`EXPLODE` 函数可以将包含列表的列展开为多行。 **语法示例:** ```sql EXPLODE(column) ``` **应用场景:** 例如,将一句话拆分成单词: ```sql SELECT EXPLODE(SPLIT("I love data science", " ")) AS words ...
- 设置视图为报告模式,以便显示多列数据。 - `InsertColumn`添加列,`InsertItem`添加行,`SetItemText`设置单元格内容。 - 利用字符串格式化功能,如`str.Format(TEXT("x=%d"), 1)`,创建自定义内容。 6. Tree...
它支持多种文件格式,并允许指定列分隔符和其他选项。 - **语法**: - `BULK INSERT table_name FROM 'file_path' WITH (option_list);` - **参数**: - `table_name`:要插入数据的目标表的名称。 - `FROM 'file...