当前位置: 首页 > 知识库问答 >
问题:

DataTable始终删除第一行

井疏珂
2023-03-14

好家伙们,我有一个Web应用程序,在从PrimeFaces Showcase实现了DataTable之后,我意识到通过点击remove a line,它总是会删除DataTable中的第一行,需要一点帮助。

我的DataTable代码:

<p:dataTable value="#{facturaBean.consultasTemp}" paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" selectionMode="single" rowKey="#{consulta.ordem}"  rows="5" paginator="true" widgetVar="tblConsultas" var="consulta">
                        <p:column style="text-align: center" headerText="Operação" width="100">
                            <p:commandButton style="font-size: 17px" icon="fa fa-trash-o" action="#{facturaBean.removerConsulta(consulta)}" update="@form"/>
                            
                        </p:column>
                        <p:column headerText="Consulta/Procedimento">
                            <h:outputText value="#{consulta.consulta}"></h:outputText>
                        </p:column>
                        <p:column headerText="Data/Hora">
                            <h:outputText value="#{consulta.consultaData}"></h:outputText>
                        </p:column>
                        <p:column headerText="Médico">
                            <h:outputText value="#{consulta.consultaMedico}"></h:outputText>
                        </p:column>
                        <p:column headerText="Valor (MT)">
                            <h:outputText value="#{consulta.consultaValor}"></h:outputText>
                        </p:column>
                        <p:column headerText="Quantidade">
                            <h:outputText value="#{consulta.consultaQuantidade}"></h:outputText>
                        </p:column>
                        <p:column headerText="Valor Total (MT)">
                            <h:outputText value="#{consulta.consultaValorTotal}"></h:outputText>
                        </p:column>
                    </p:dataTable>

private ArrayList consultasTemp=new ArrayList();

public String removerConsulta(ConsultaTemp consulta) {
    consultasTemp.remove(consulta);
    return null;
}

详细信息视频:在此输入链接描述

共有1个答案

何高歌
2023-03-14

非常感谢您提供的帮助和知识,但我无法使用DataTable的rowkey=“#{consulta.ordem}”属性删除行,因此我创建了以下类:

public String removerConsulta(ConsultaTemp consulta) {
    
    for (int i = 0; i < consultasTemp.size(); i++) {
        if (consultasTemp.get(i).getConsulta().equals(consulta.getConsulta())) {
            consultasTemp.remove(i);
        }
    }
    return null;
}
 类似资料:
  • “我的列表视图”项包含一个“删除”按钮,我在适配器中将其设置为从数据库中删除该项。完成后,如何刷新包含listView的片段以删除该项?相关代码如下: 删除适配器中的项功能: listview在我的片段中是这样设置的: 谢谢 更新: 现在我已经将子项目上的OnClickListener从适配器传递到片段ListView OnItemClickListener,如下所示: 更新适配器 更新片段 但现

  • 我正在使用DataTable组件,我非常简单的目标是使用内联命令按钮删除一行。这是dataTable组件的代码。 “dobavljac”是我需要使用action=“#{dobavljacMB.obrisi(dobavljac)}”删除的实体 具有删除功能"obrisi"的托管bean类如下: Dobavljac类是一个简单的POJO类,由IDE生成,因此无需发布。问题是,当调用该方法时,它抛出一个

  • 删除第一个元素最简单的方法是什么?

  • 这件事让我毛骨悚然。我正在使用CodeIgniters分页库,现在它总是作为当前页面粘贴在第1页上。我已经检查了一大堆StackOverflow问题,我没有和其他人一样的问题。 这是我的url结构 这是我控制器里的分页代码 当我在视图中呼应分页时,它看起来像是工作的。每个链接上的网址都是正确的,一切看起来都很好。最后一个链接显示最后一个页面url,当前页面为1。然而,当我点击第2页或分页中的任何其

  • 问题内容: 我一直在网上搜索,但没有找到任何好的解决方案。 这是我的文本文件: 我要删除的是第一行(这意味着将第二行用作第一行,而不用空格填充第一行)。 有人可以帮我吗? 问题答案: 假设您有足够的内存来将所有内容保存在内存中: 我们可能会更喜欢,打开文件,阅读,然后找回开始,消除第二个,但这确实足够了。

  • 在这个问题上提供一些帮助将不胜感激。 我有几个JSF页面,但其中一个是子类别,其中有一个SelectOneMenu用于选择类别,但当我尝试编辑子类别时,这个SelectOneMenu总是显示第一个值,并且没有被预选。 我怎么解决这个问题。我读了很多SO帖子,尽管我已经实施了一些建议,但我还没有实现。例如,a@BalusC的一个: primefaces selectOneMenu在应该的时候不工作