列单击Rich Faces 4

时间:2011-07-08 12:31:16

标签: jsf richfaces richdatatable

我正在使用Richfaces 4中的extendedDataTable。我想在用户点击它时连续显示元素的详细信息页面。因此我添加了类似

的内容
onrowclick="showDetails(#{item.id})"

到桌子上。这会触发相应的<a4j:jsFunction/>标记。到目前为止这是有效的。

但是,其中一列中有一个commandLink(用于切换到详细信息的编辑视图)。该链接适用于基于webkit的浏览器(Chrome / Safari)。但IE和Firefox只在行上执行onclick。 commandlink在那里不起作用。

是否有可能仅设置oncolumnclick或不包含commandlink的列?我没有找到一种方法来向特定列添加onclick-handler(我使用rich:column for column。)

或者是否有更好/更清洁/更好的方式来实现“点击行中的某个位置以显示详细信息,单击最后一列中的链接以显示编辑视图”-behaviour我在追求?

2 个答案:

答案 0 :(得分:0)

尝试将其放入commandButton

onclick="Event.stop(event||window.event)"

答案 1 :(得分:0)

我目前的解决方法HACK是不使用onrowclick,而是向我的所有列添加styleClass="clickable",但带有链接的列除外。在第一列中,我添加了以下内容:

<h:outputText value="#{item.id}" style="display: none;" styleClass="id"/>

然后在表之后我使用以下jQuery:

<rich:jQuery selector=".myTable td.clickable" query="live('click', function(event) {
                showDetails($(this).parent().children().children('.id').text());
              });"/>

我真的不喜欢这个解决方案,但到目前为止工作正常。

我仍然愿意接受更好的解决方案:)