Pessoal alguem sabe como remover um linha de um rich:datatable sem que o botão esteja dentro de uma coluna da tabela ? o botão fica fora da tabela ? ? ?
po… explica um poko melhor o q vc ker.
mais ou menos… pra tirar uma linha da tabela vc tem que remover da lista do value da tabela e dar um rerender.
pra tirar da lista com o botão fora da tabela vc tem q tirar um campo identificador de um input qq. pra poder remover do banco.
Como assim tirar um campo identificador ?
estou fazendo assim da uma olhada :
estou fazendo da seguinte forma:
<a4j:commandButton styleClass=“botao” value=“Retirar” action="#{ManterSimulacao.removerFundo}" reRender=“CarteiraFundos”/>
<rich:scrollableDataTable id=“CarteiraFundos” rowKeyVar=“rkv” frozenColCount=“1” height=“200px” width=“1200px” sortMode=“single” value="#{ManterSimulacao.listar}" var=“fundo” binding="#{ManterSimulacao.table}">
<rich:column id=“aplic” sortExpression="">
<f:facet name=“header”><h:outputText value=“aplic desejada” /></f:facet>
<h:inputText value="" />
</rich:column>
<rich:column id=“instituicao” sortExpression="#{fundo.instituicao.nome}">
<f:facet name=“header”><h:outputText value=“instituicao” /></f:facet>
<h:outputText value="#{fundo.instituicao.nome}" />
</rich:column>
</rich:scrollableDataTable>
Bean:
public HtmlScrollableDataTable getTable() {
return table;
}
public void setTable(HtmlScrollableDataTable table) {
this.table = table;
}
public Fundos getLinha() throws Exception{
Fundos fundo = (Fundos) table.getRowData();
System.out.println(“Estou aqui:” + fundo.getNmFundo());
return fundo;
}
public void removerFundo() throws Exception {
ad.abrirConexao();
Fundos fundos1 = getLinha();
simulacao.getCarteira().removerFundo(fundos1);
ad.fecharConexao();
}
eu quero excluir uma linha atravez de um botao fora do datatable como vc mesmo disse… mais nao entendi como fazer…
faz o seguinte: crie um form sem ser o form da dataTable… coloque ele um campo inputText e um a4j:commandButton.
no input vc pega o “codigo identificador” ou algo parecido da sua aplicação… e no botão vc faz um actionListener que exclua o registro no BD, dá rerender na tabela e o registro “some”!
lembrando: reRender é um “atributo dentro do a4j:commandButton” onde vc especifica os componentes que quer reRenderizar pelo id de cada um .
é isso?
espero ter ajudado.
cara acredito que seja mais ou menos isso mais não entendi porque colocar um inputtext se apenas o botão irá efetuar a acão de remover a linha selecionada ? se você olhar eu só tenho o botão com a ação remover.
sem o campo input ou qualquer entrada de dados vc não tem como saber qual linha da dataTable deve remover. nem da lista nem no BD.
isso EU acho… nunca parei pra pensar numa solução diferente mas talvez haja outra.
com o campo input você recebe um dado que ira te possibilitar localizar a linha desejada na lista ou no BD.