首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免富:数据表中某些列中的onRowClick事件

避免富:数据表中某些列中的onRowClick事件
EN

Stack Overflow用户
提问于 2016-04-08 12:47:24
回答 2查看 1.7K关注 0票数 2

我有一个包含4列的rich:dataTable

第一个是selectBooleanCheckBox,它向bean中激发一个名为"CheckEvent“的事件(仅举个例子)。

同时,dataTable还支持onRowClick事件,该事件在bean上触发"onRowClick“。

我面临的问题是,当我单击第一列( check )时,onRowClick也会触发。在这种情况下,这肯定是一个问题:如果一个行选中了检查,而我只想取消选中它,onRowClick就会突出显示该行,这是我不想要的行为。

我试图在其他三个oOnRowClick中定义rich:columns事件,但是我实现的是没有什么;事件甚至不触发,所以datatable没有onRowClick

试图通过bean实现逻辑也不起作用,因为我不知道输入onRowClick()方法时会推送哪个列。

我真的很想这么做。如能提供任何帮助,将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-08 13:52:51

onrowclick将onclick添加到表行,如果不希望它触发,则必须防止复选框上的单击事件冒泡到该行,例如:

代码语言:javascript
复制
<h:selectBooleanCheckbox onclick="event.stopPropagation()" … />
票数 6
EN

Stack Overflow用户

发布于 2018-04-24 14:38:28

我可以看到,这个<h:selectBooleanCheckbox onclick="event.stopPropagation()" … />可以很好地解决QA与selectBooleanCheckbox之间的问题。

如果不应该对onclick事件作出反应的列包含一个可点击的图标,那么类似的内容会起作用吗?见下面的例子:

代码语言:javascript
复制
<rich:panel headerClass="panelHeader" styleClass="panel">
    <f:facet name="header">Header</f:facet>
    <rich:dataTable id="myTable" value="#{myModel}" var="k">

        <a4j:support event="onRowClick" action="#{myAction.selectItem(k, facesContext.viewRoot.viewId)}"
                            reRender="myTable"/>

            <rich:column>
                <f:facet name="header">
                        <h:outputText value="Normal Column - should be clickable"/>
                </f:facet>
                <h:outputText value="#{k.name}"/>
            </rich:column>

            <rich:column >
                <f:facet name="header">
                    <h:outputText value="Only Click on Icon should react to Mouseclick"/>
                </f:facet>
                <s:graphicImage value="/img/bin_closed.gif">
                    <a4j:support event="onclick"
                                 action="#{myAction.deleteItem(k)}"
                                 reRender="myTable"
                                 ajaxSingle="true" limitToList="true"
                                 onsubmit="if(!confirm('Really?')) { return false; }" />/>
                </s:graphicImage>
            </rich:column>

    </rich:dataTable>

</rich:panel>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36499942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档