如何在JSF页面中实现动态调整数据表的行号等于用户输入/选择的值?



如何在JSF页面中实现动态调整dataTable的行数等于用户输入/选择的值?

上下文是这样的。有一个输入文本组件nummofcars和一个名为CarInfoList的数据表用于输入汽车信息。CarInfoList的行数取决于NumOfCars的值。例如,如果用户在NumOfCars中输入5,我们希望CarInfoList的行号立即调整为5。

有人知道如何用JSF页面实现这个吗?

如果您想要在用户输入5后显示最多5辆车的列表,只需将inputText字段绑定到支持bean,并为简单起见添加一个绑定到操作方法的按钮。在此操作方法中,创建主列表的子列表。然后你的视图应该绑定到这个子列表。

基本上是这样的:

@ManagedBean
@ViewScoped
public class SomeBacking {
    private int numberOfCars;
    private List<Car> allCars;
    private List<Car> displayedCars;
    @PostConstruct
    public void init() {
        allCards = ... // get from some service
        displayedCars = allCars;
    }
    public void adjustDisplayedCars() {
         displayedCars = allCars.subList(0, numberOfCars);
    }
    // Getters/setters
}

(不要忘记在你的inputText组件中添加一个范围验证器)

如果你的意思是不按任何按钮,你可以用AJAX做到这一点。如果您使用的是JSF 2.0, AJAX是内置的,否则您需要一个外部组件库,如RichFaces。

我建议使用primefaces组件或jquery datatable插件

http://www.datatables.net/release-datatables/examples/basic_init/zero_config.html

也primefaces数据表组件有很好的特性和ajax兼容性…

点击这里查看

相关内容

  • 没有找到相关文章

最新更新