搜索数据库后如何填充primefaces数据表

时间:2019-02-06 13:12:05

标签: java jsf primefaces datatable

我正在开发应用程序,我想按行编辑数据表。我面临的问题是,如果我在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

1 个答案:

答案 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()并没有任何作用。