我正在将JSF 2.1.26与primefaces 4.0一起使用。尝试在数据表中显示摘要行时,我遇到了一个奇怪的问题。
因此,基本上我在做什么是将notesList(将其视为字符串列表)保存到数据库中。保存操作成功,我可以清楚地看到数据库中的所有数据。 但是,当我从数据库中提取相同的数据并尝试从记录中将两列作为摘要行发布时,对于某些行,它显示为空白。 例如。如果我使用noteList保存5行,那么我只看到2或3条记录的摘要行,其余部分显示为空白,即使它们存在于数据库中。
这是有趣的部分...
如果我尝试使用for循环而不是使用LIST一次保存一个记录,那么我将不再面临这个问题。 两种情况下,数据库中的内容完全相同。
for (ABC abc : XYZ)) {
NotesDto notesDto = new NotesDto();
//notesDtoList.add(notesDto); occurs
notesService.saveNote(notesDto); //This works fine
}
//notesService.saveNotes(notesDtoList); ---- This takes the whole list at a time
下面是sample.xhtml文件
<p:dataTable var="noteanddisp" value="#{notesBean.notesList}"
id="notesTable" editable="false" styleClass="smallGrid"
sortBy="insertedOn" sortOrder="descending"
widgetVar="notesTable">
<p:summaryRow>
<p:column colspan="6" styleClass="summaryRowClass">
<h:outputText value="#{noteanddisp.statusText}"
styleClass="NoteTextColumn"/>
<h:outputText value="#{noteanddisp.noteText}"
styleClass="NoteTextColumn"/>
</p:column>
</p:summaryRow>
这里,statustest和notestext是记录中的两列,其中之一将在给定时间具有价值。
当我尝试检查chrome上的代码时,我发现对于摘要行即将变为空白的行,生成的html代码中缺少'tr class = summaryrow'标签** 我很困惑,为什么标记即使具有值也为什么会丢失。
我也尝试调试eclipse中的代码,并且pull操作正常获取所有记录。仅在显示部分出现问题。
您可以在图片source.png中看到,某些记录缺少'tr class = ui-datatable-summary-row'标签。