使用行号

时间:2016-06-06 08:31:52

标签: javascript jsf-2 primefaces

使用RichFaces时,可以在选择单行时(通过单击行)执行JavaScript函数,并将选定的行号作为参数传递,如下所示:

<rich:extendedDataTable
    rowKeyVar="row"
    onRowClick="executeMeOnRowSelection(#{(row})"...>

我需要将其迁移到Primefaces。根据{{​​3}} Primefaces本身不提供此功能,但可以使用Primefaces Extensions。但是,当我这样尝试时:

<p:dataTable rowIndexVar="row" selectionMode="single">

<pe:javascript event="rowSelect" execute="executeMeOnRowSelection(#{(row})"/>

...看起来Primefaces生成的JavaScript回调没有获得所选的行号,但总是使用第一个行号调用(查看生成的页面会显示函数参数的硬编码值) executeMeOnRowSelection)。

编辑:更准确地说,直接在p:dataTable标记下使用时,似乎不会评估#{row}变量。在p:column标记内使用时可以正确解析,但两者都

<pe:javascript event="rowSelect" execute="executeMeOnRowSelection(#{(row})"/>

,就此而言,

<p:ajax event="rowSelect" oncomplete="alert(#{row});" />

最后将#{row}替换为空字符串(两者都作为p:dataTable标记的直接子项放置)。

我将pe标签与p:dataTable结合使用的方式是否有误?有替代解决方案吗?

0 个答案:

没有答案