H:inputText>. DENTRO rich:dataTable

1 resposta
A

Bom dia
Desculpa pessoal mais sou iniciante, simplesmente não consigo resolver essa questão.
Tenho componente rich:modalPanel, com form com alguns input e uma rich:dataTable dentro tenho <h:inputText>.
Gostaria de saber como pego a informação desse input, já tentei de varias formas :

Usando : myTable.findComponent( " inputText " ) :
Mais só trais ultima a informação do ultimo input da uma rich:dataTable.
Lendo a Tabela: Conseguir pegar os dados porem não informação do input não persiste.

public void salvar(ActionEvent e) throws EscolaDAOException {
UIComponent comp = FacesContext.getCurrentInstance().getViewRoot().findComponent(“formnovo:tabledisc”);

if (comp != null) {
	    UIData uIData = (UIData) comp;
	      HtmlDataTable myTable = (HtmlDataTable) uIData;
	             
	      	for (int i = 0; i < myTable.getRowCount(); i++) {
	                //loop over the rows
	                //myTable.setRowIndex(i);
	                myTable.setRowKey( Integer.valueOf(  i ) );
	                
	                UIComponent resultado = (UIComponent) myTable.findComponent( "inputText" );
	                
	                //get the values that the user edited for this row
	               UIComponent modifiedElement = (UIComponent) myTable.getRowData();
	      		 }
	            //make sure to set the row Index back to -1!!!
	            myTable.setRowIndex(-1);
	        } 
			
  }
<rich:modalPanel id=“novaPanel” autosized=“true” width=“450”>

<f:facet name=“header”>

<h:outputText value=“Cadastra Novo Curso” />

</f:facet>

<f:facet name=“controls”>

<h:panelGroup>

<h:graphicImage value="/images/icons/delete.gif" id=“hidelink1”

styleClass=“hidelink” />

<rich:componentControl for=“novaPanel” attachTo=“hidelink1”

operation=“hide” event=“onclick”  />

</h:panelGroup>

</f:facet>
<a4j:form id="formnovo" ajaxSingle="true"> `
        <h:panelGrid columns="1">
            <a4j:outputPanel ajaxRendered="true">
                <h:panelGrid columns="2">
                    <h:outputText value="Descrição    " />
                    <h:inputText id="descricao" value="#{ProdutosView.produto.descricao}"  required="true" requiredMessage="Descrição obrigatoria" />
                 
                  <h:outputText value="Turno" />
				  <h:selectOneMenu id="turno"   value="M" required="true">
					 <f:selectItem    itemValue="M" itemLabel="Manhã"/>
				 	 <f:selectItem    itemValue="T" itemLabel="Tarde"/>
				 	 <f:selectItem    itemValue="N" itemLabel="Noite"/>
				</h:selectOneMenu> 
				<h:outputText value="Disciplinas" />
				
			
				
				 <rich:dataTable value="#{DisciplinasView.todos}"
				                var="listadados" rows="20" rowKeyVar="row"  id="tabledisc" style="align:top;margin-left:30px;">
				                 <rich:column>
				                 <f:facet name="header">
				                        <h:outputText value="Selecionar" />
				                    </f:facet>
									   
									  <h:inputText  id="artur" value="#{ProdutosView.produto.descricao}"  required="true" requiredMessage="Descrição obrigatoria" />
                 
									    
				                        
				                 </rich:column>
				                <rich:column>
				                    <f:facet name="header">
				                        <h:outputText value="Codigo" />
				                    </f:facet>
				                    <h:outputText value="#{listadados.iddi}" id="codigo" />
				                </rich:column>
				                <rich:column width="200px">
				                    <f:facet name="header">
				                        <h:outputText value="Descrição" />
				                    </f:facet>
				                    <h:outputText value="#{listadados.descricao}" />
				                </rich:column>
				</rich:dataTable> 		 				
	 				
	 				
				</h:panelGrid>
	            </a4j:outputPanel>
             <a4j:commandButton  id="Salvar123" value="Salvar" actionListener="#{CursosView.salvar}"  reRender="tabledisc,msgbloco,formnovo"  oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('novaPanel')}.show();"    >
             </a4j:commandButton>
              <a4j:commandButton  value="Sair"    oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('novaPanel')}.hide();"     >
             </a4j:commandButton> 
        
               <rich:message showSummary="true" showDetail="false" for="msgbloco" />
              <a4j:outputPanel id="msgbloco">
		  		<h:messages style="color:red;" ></h:messages>
			</a4j:outputPanel>
        </h:panelGrid>
    </a4j:form>
</rich:modalPanel>


1 Resposta

D

Tenta colocar assim na na linha do seu input no seu datable:

<h:inputText   value="#{produto.aux}" size="5" >  
        <f:convertNumber integerOnly="true" />     
   
 <a4j:support reRender="TabelaProdutos"/>    
</h:inputText>
Criado 21 de julho de 2010
Ultima resposta 21 de jul. de 2010
Respostas 1
Participantes 2