Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
Jsf 按Enter键打开“基本面数据表”中的对话框_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Jsf 按Enter键打开“基本面数据表”中的对话框

Jsf 按Enter键打开“基本面数据表”中的对话框,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我有一个datatable,在其中我实现了cell editor特性。我有两列具有编辑和删除功能。当我点击编辑时,单元格编辑器显示,用户可以编辑值并保存它们。同样,当用户单击“删除”时,会弹出一个包含用户详细信息的对话框。现在,我的问题是当我单击“编辑”时,当我关注其中一个输入字段并按“回车”时,会弹出对话框。我不希望出现这种情况:这是我的JSF代码: <p:dataTable value="#{mybean.userList}"

我有一个datatable,在其中我实现了cell editor特性。我有两列具有编辑和删除功能。当我点击编辑时,单元格编辑器显示,用户可以编辑值并保存它们。同样,当用户单击“删除”时,会弹出一个包含用户详细信息的对话框。现在,我的问题是当我单击“编辑”时,当我关注其中一个输入字段并按“回车”时,会弹出对话框。我不希望出现这种情况:这是我的JSF代码:

    <p:dataTable value="#{mybean.userList}"
                                 var="item"
                                 id="dataTab"
                                 widgetVar="usersTable"
                                 tableStyleClass="data"  paginator="true" rows="5"  
                                 filteredValue="#{userController.filteredUsers}"
                                 editable="true"
                                 rowKey="#{item}"
                                 >
                        <p:ajax event="rowEdit"   listener="#{mybean.onEdit}" update=":userForm:growl" />  
                        <p:ajax event="rowEditCancel" listener="#{mybean.onCancel}" update=":userForm:growl" /> 
                        <f:facet name="header">
                        <p:outputPanel>  
                             <h:outputText value="Search all fields:" />  
                             <p:inputText id="globalFilter"     onkeyup="('usersTable').filter()"   style="width:150px" />  
                        </p:outputPanel>     
                        </f:facet>


                        <p:column sortBy="#{item.firstName}" filterBy="#{item.firstName}" 
                                  filterMatchMode="startsWith">
                             <p:cellEditor> 
                            <f:facet name="header">  
                            <h:outputText value="First Name" />  
                            </f:facet>
                                 <f:facet name="output">
                            <h:outputText  value="#{item.firstName}" />
                                 </f:facet>
                                 <f:facet name="input">  
                <p:inputText value="#{item.firstName}" style="width:100%"/>  
            </f:facet>  
                              </p:cellEditor>
                        </p:column>
                        <p:column  sortBy="#{item.lastName}" filterBy="#{item.lastName}" filterMatchMode="startsWith">
                            <p:cellEditor> 
                            <f:facet name="header">  
                            <h:outputText value="Last Name" />  
                            </f:facet>

                        <p:column headerText="Update" style="width:6%">  
                         <p:rowEditor />  
                        </p:column>    


<p:column>
        <p:commandButton  oncomplete="delUserConf.show();" update=":userForm:display" >
     <f:setPropertyActionListener value="#{item}" target="#{myController.selectedUser}" />

     </p:commandButton> 
        </p:column>

                                            </p:dataTable>


    <p:dialog id="modalDialog"
                                              header="Delete User?"
                                              modal="true"
                                              resizable="false"
                                              draggable="false"
                                              widgetVar="delUserConf"
                                              >  

                       <h:panelGrid id="display" columns="2" style="width: 150px;">
                                            <h:outputLabel value="Firat Name"  style="font-weight: bold"/>

                                            <h:outputText value="Last Name"  style="border: none"/>

                                        </h:panelGrid>

                                    </p:dialog>


有人能告诉我如何避免这种情况吗?谢谢。

我想这会对你有所帮助。我的建议是,您必须将此添加到
的包装器表单中,我只是“动态”注释,但您是否在
行编辑器
组件上具有
onclick
属性?如果是这样的话,试着用javascript捕捉按下的按钮……或者你可以用commandLink替换commandButton(这只是一个想法)。如果我理解正确,问题是命令按钮响应Enter键,即使它没有焦点?@danRod我没有一次点击rowEditor…我尝试用commandlink替换它,同样的情况也发生了……@kolossus是的,当我关注表格中的输入字段编辑数据并按enter键时,对话框会弹出…当我单击delete按钮时通常会弹出对话框…你能让我看看吗知道如何解决此问题…您好,使用此解决方案,输入按钮功能将被禁用。但是,如果没有这种行为,你怎么能让enter按钮仍然工作呢?原因是什么?
onkeypress="if (event.keyCode == 13) {return false; }"
<h:form id="formm" onkeypress="if (event.keyCode == 13) {return false; }">