Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在h:dataTable中实现行编号_Java_Jsf_Jsf 2 - Fatal编程技术网

Java 如何在h:dataTable中实现行编号

Java 如何在h:dataTable中实现行编号,java,jsf,jsf-2,Java,Jsf,Jsf 2,我有一个带有分页的JSF表 历史中心 № 挑选 帐户会话ID 用户ID 活动开始时间 活动结束时间 活动 #{status.index+1+i.firstRow} $(“tr”)。不是(':first')。悬停( 函数(){ $(this.css(“背景”,“#707070”); }, 函数(){ $(this.css(“背景”和“”); } ); 函数高亮显示(参数){ var row=jQuery(param.parent().parent().chil

我有一个带有分页的JSF表


历史中心



№ 挑选 帐户会话ID 用户ID 活动开始时间 活动结束时间 活动 #{status.index+1+i.firstRow}

$(“tr”)。不是(':first')。悬停( 函数(){ $(this.css(“背景”,“#707070”); }, 函数(){ $(this.css(“背景”和“”); } ); 函数高亮显示(参数){ var row=jQuery(param.parent().parent().children(); row.toggleClass('highlited'); }

我创建了简单的行计数示例,只是为了用非常简单的html表表示行数。在第二个表中,分页工作正常,但我不知道如何在
h:dataTable
中实现
ui:repeat
,以实现行计数。我如何实现这一点?

我不确定我是否理解正确。你只是想把行编号

然而,我认为这并不像你想象的那么容易。h:dataTable实际上不支持这个。混合使用h:dataTable和ui:repeat似乎是完全错误的方法(如果我理解正确的话)

你可以:

  • 使用t:dataTable(来自Tomahawk:)。在这里,您可以使用rowIndexVar属性,如下所示:

    <t:dataTable rowIndexVar="row" value="#{someBean.value}">  
        <h:column>  
            <h:outputText value="#{row + 1}"/>  
        </h:column>  
    </t:dataTable>
    
    然后将DataWrapper列表传递给JSF,而不是直接传递给您的模型。当然,您需要首先在服务层的某个位置设置索引

我希望这有帮助。如果您需要进一步帮助,请告诉我。

使用


#{table.rowIndex+SessionsController.firstRow+1}
...

是不必要的
DataWrapper
不是干货,已经存在了
javax.faces.model.DataModel
,它还有一个
getRowIndex()
。它被
UIData
组件在封面下使用。我会这样问你:我有这个变量“firstRow”,我从分页中得到它。每次此变量包含第一行的编号时。所以我只需要在一行中完成这项工作:但问题是每次在JSF页面上得到10+1是的,但我有一个自定义分页。如果我打开分页的第二页,会发生什么?我将再次从1开始?然后添加页面的第一行。我明白你的意思。我这样编辑代码:现在它工作起来简单多了。非常感谢。
public class DataWrapper{
    private int index;
    private Object model;
    // getter and setter
    ...
}