2 回答
TA贡献1802条经验 获得超10个赞
我猜你会得到 Text1 | 文本 2 | 文本 3 | 对于每个标题。
您不应该在每个循环中分配 j = 0。在两个 for 循环和内部 for 循环之外初始化一个 int index=0 应该是这样的。
for(int j = index; j<index + (rowValuekeys.length/rowHeadingkeys.length);j++){
}
index+=rowValuekeys.length/rowHeadingkeys.length;
编辑:
更好的解决方案是:
int innerIndex = 0;
for(int i = 0;i<rowHeadingkeys.length;i++) {
if(rowHeadingkeys!=null) {
patientMonitoringTable.addCell(createCell(rowHeadingkeys[i],
PDFUtil.BOLD_FONT,1,Element.ALIGN_LEFT));
for(int j = 0;j<rowValuekeys.length/rowHeadingkeys.length;j++) {
if(innerIndex < rowValuekeys.length)
patientMonitoringTable.addCell(createCell(svo.getFields().get(rowValuekeys[innerIndex]).getValue(),
PDFUtil.FONT,1,Element.ALIGN_LEFT));
innerIndex++;
}
}
}
TA贡献1794条经验 获得超8个赞
如果您想要第 1 个项目的第 2 个列表中的 3 个项目:
for(int i = 0; i < rowHeadingkeys.length;i++) {
if(rowHeadingkeys!=null) {
patientMonitoringTable.addCell(createCell(rowHeadingkeys[i],
PDFUtil.BOLD_FONT,1,Element.ALIGN_LEFT));
for(int j = 0; j < 3; j++) {
patientMonitoringTable.addCell(createCell(svo.getFields().get(rowValuekeys[3 * i + j]).getValue(),
PDFUtil.FONT,1,Element.ALIGN_LEFT));
}
}
}
添加回答
举报
