在PrimeFaces数据表中强制行选择

邮箱

我得到了ap:dataTable其中包含

<p:dataTable id="dataTable" widgetVar="dataTableCar" var="category"
value="#{CategoryBean.categories}" selection="#{CategoryBean.selectedCategory}"
selectionMode="single" rowKey="#{category}"                 
    <p:column headerText="name">
       <h:outputText value="#{category.name}" />
    </p:column>
    <p:column headerText="parent">
       <p:autoComplete id="parentCategory" completeMethod="#{CategoryBean.categories}" maxResults="20" value="#{category.parent}" var="p" itemLabel="#{p.name}"
  itemValue="#{p}" converter="#{categoryStringConverter}"
  forceSelection="true">
        <p:ajax event="itemSelect"
     listener="#{CategoryBean.oncategorySelect}" />
        </p:autoComplete>
    </p:column>

我需要强制选择行,以防用户单击自动完成功能。也许我应该提一下,如果用户单击进入p:column托管的ui控件(在此示例中为自动完成),则不会选择任何行。

有办法实现吗?如果没有得到所选行,则无法处理父类别。

基什·普拉卡什(Kishor Prakash)

您可以通过2种方式来做到这一点,都包括jQuery。

我将使用以下p:dataTable代码展示这两种方式。
我使用h:inputText而不是p:autoComplete

<p:dataTable value="#{userManagedBean.userList}" var="user" 
                    selection="#{userManagedBean.selectedUser}" selectionMode="single"
                    rowKey="#{user.email}" widgetVar="dataTableWidget">
            <p:ajax event="rowSelect"/>

            <p:column headerText="Email">
                #{user.email}
            </p:column>

            <p:column headerText="Name">
                <h:inputText value="#{user.name}" onclick="myFunction(this);"/>
            </p:column>
        </p:dataTable>

第一种方式:

当用户单击“自动完成”时,在其父级(在本例中为)上模拟click事件<td>,从而依次选择其父级<tr>,最后将选择“行”。

<script type="text/javascript">
   function myFunction(ele){
    var tdEle = $(ele).parent();
    $(tdEle).click();
   }
</script>

第二种方式

通过使用Primefaces客户端API函数selectRow(r,flag),该函数将在p:dataTablewidgetWar对象调用。
这里selectRow(r,flag)需要两个参数:

  • r 是需要选择的行的Jquery Row元素()。
  • flag 是布尔值,它指定是否选择ajax。

所以现在我的Javascript函数将是:

<script type="text/javascript">
    function myFunction(ele){
        var tdEle = $(ele).parent();
        var trEle = $(tdEle).parent();
        dataTableWidget.selectRow($(trEle),true); 
    }
</script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

行上的Primefaces数据表选择JavaScript回调

来自分类Dev

行上的Primefaces数据表选择JavaScript回调

来自分类Dev

Primefaces数据表行选择在Viewscope中不起作用

来自分类Dev

小区选择数据表PRIMEFACES?

来自分类Dev

如何减少primefaces中的数据表行高

来自分类Dev

PrimeFaces数据表中的掩蔽数字

来自分类Dev

数据表中的CSS primefaces panelgrid

来自分类Dev

从数据表中,每组随机选择一行

来自分类Dev

选择Jquery数据表中的所有行

来自分类Dev

取消选择数据表中的所有选定行

来自分类Dev

在Linq中从数据表中选择不同的行

来自分类Dev

Primefaces数据表仅在一行中合并数据

来自分类Dev

在实现延迟加载时,行选择在primefaces(5.3)数据表中不起作用,但在没有延迟加载的情况下仍有效

来自分类Dev

在Vuetify数据表中选择行

来自分类Dev

R数据表选择行

来自分类Dev

在数据表中选择行

来自分类Dev

选择不同的数据表行

来自分类Dev

Liferay AUI 数据表的行选择

来自分类Dev

是否可以将行标题添加到JSF或PrimeFaces数据表中?

来自分类Dev

如何合并primefaces数据表行中的单元格?

来自分类Dev

选择一行并单击数据表中的按钮后,获取表行的行ID

来自分类Dev

Primefaces数据表-4.0

来自分类Dev

Primefaces数据表-4.0

来自分类Dev

使用Ajax更新Primefaces数据表摘要行

来自分类Dev

Primefaces数据表将选定的行作为arrayList类型

来自分类Dev

Primefaces:以编程方式访问数据表的行

来自分类Dev

primefaces数据表选择属性始终总是第一次填充第一行

来自分类Dev

PrimeFaces数据表中的条件单元格编辑

来自分类Dev

在primefaces数据表中显示键和值映射

Related 相关文章

热门标签

归档