我正在开发应用程序,我想按行编辑数据表。我面临的问题是,如果我在comparingDouble
方法中填充studentList.stream()
.collect(groupingBy(Student::getId,
maxBy(Comparator.comparingLong(Student::getEventDate))))
.values()
.stream()
.map(Optional::get)
.collect(toList());
,则ArrayList
操作将不起作用,但是当我在getter
方法中使用{{ 1}}比rowEdit
有用。因此,现在我有一个字段可以从数据库中搜索值并显示在数据表中。创建@PostConstruct
时,无法填充数据表中的值,因为要进行搜索,我必须将字段值发送给搜索方法,但是在@ViewScoped
中,我不能。请帮我。
这是我的代码段:
rowEdit
这是我的托管Bean
managedbean
答案 0 :(得分:0)
我相信我已经理解了。 您需要输入您的MR NO(数字)。并且,当用户提交该输入时,您希望您的数据表由您从SQL查询中获得的数据填充。
您应该做的是使用<p:commandButton>
提交您的MRNO。它应该调用一个方法来运行您的查询,并像这样更新您的<p:dataTable>
:
<p:commandButton value="Submit MR NO"
action="#{viewBills.loadPatientsFromDatabase}"
update="patients" />
因此,您需要在bean中使用适当的方法:
public void loadPatientsFromDatabase()
{
getPatientBills = DatabaseHandler.searchBillByMrNo(mrNo);
setVisible = getPatientBills.isEmpty() ? false : true;
}
那应该可以使您的dataTable获得数据。
但是,您的代码中似乎有许多事情需要改进,例如命名。并且在您的getGetPatientBills()
中调用init()
并没有任何作用。