<rich:extendedDataTable + agrupando e desagrupando colunas

1 resposta
Zenas

Olá Amigos,

Estou querendo agrupar e desagrupar colunas no extendedDataTable, fiz uma grid utilizando o seguinte link http://livedemo.exadel.com/richfaces-demo/richfaces/dataTable.jsf?c=columnGroup&tab=usage, sendo que tem um problema, tem registros q tem q ter a data agrupada e outros registros não tem que ter a data agrupada.

o código da grid segue abaixo:

<rich:extendedDataTable id="listaRelatorioMarcoAtividade"
							    						width="100%"
	                    								height="200px" 
	                    								border="0" 
	                    								var="item" 
	                    								value="#{relatorioObraMB.statusProjetoRelatorioObraMB.listaRelatorioMarcoAtividade.lista}" 
														sortMode="single"
														selectionMode="single"
														enableContextMenu="false"
														noDataLabel="#{msg.MSG_LISTA_VAZIA}"
	                   									rowKeyVar="linha"
	                   									binding="#{relatorioObraMB.statusProjetoRelatorioObraMB.listaRelatorioMarcoAtividade.gridLista}"
	                   									>
													
			                    <f:facet name="header">
			                        <rich:columnGroup styleClass="group">
			                            <rich:column rowspan="2"	
			                            			 width="10%"
			                            			 style="background-color: #F0F1F2;">
			                                <h:outputLabel value="#{msg.REL_OBRA_STATUS_PROJETO_NUMERO}" />
			                            </rich:column>
			                            <rich:column rowspan="2"	
			                            			 width="20%"
			                            			 style="background-color: #F0F1F2;">
			                               <h:outputLabel value="#{msg.REL_OBRA_STATUS_PROJETO_ATIVIDADES_PROJETO}" />
			                            </rich:column>                            
			                            <rich:column colspan="2"	
			                            			 width="20%"
			                            			 style="background-color: #F0F1F2;">
			                                <h:outputLabel value="#{msg.REL_OBRA_STATUS_PROJETO_PRAZO_PREVISTO}" />
			                            </rich:column>
			                            <rich:column colspan="2"	
			                              			 width="20%"
			                              			 style="background-color: #F0F1F2;">
			                                <h:outputLabel value="#{msg.REL_OBRA_STATUS_PROJETO_PRAZO_REPLANEJADO}" />
			                            </rich:column>                            
			                            <rich:column rowspan="2"	
			                            			 width="15%"
			                            			 style="background-color: #F0F1F2;">
			                                <h:outputLabel value="#{msg.SAE_STATUS}" />
			                            </rich:column>
			                            <rich:column rowspan="2"	
			                            			 width="15%"
			                            			 style="background-color: #F0F1F2;">
			                                <h:outputLabel value="#{msg.REL_OBRA_STATUS_PROJETO_JUSTIFICATIVA}" />
			                            </rich:column>
			                            <rich:column breakBefore="true"	
			                            			 width="10%"
			                            			 style="background-color: #F0F1F2;">
			                                <h:outputLabel value="#{msg.REL_OBRA_STATUS_PROJETO_INICIO}" />
			                            </rich:column>
			                            <rich:column	width="10%"
			                            				style="background-color: #F0F1F2;">
			                                <h:outputLabel value="#{msg.REL_OBRA_STATUS_PROJETO_TERMINO}" />
			                            </rich:column>
			                            <rich:column	width="10%"
			                            				style="background-color: #F0F1F2;">
			                                <h:outputLabel value="#{msg.REL_OBRA_STATUS_PROJETO_INICIO}" />
			                            </rich:column>
			                            <rich:column	width="10%"
			                            				style="background-color: #F0F1F2;">
			                                <h:outputLabel value="#{msg.REL_OBRA_STATUS_PROJETO_TERMINO}" />
			                            </rich:column>                            
			                          </rich:columnGroup>
			                    </f:facet>
			                    
								<rich:column	width="10%">
									<h:inputText 	value="#{item.nrOrdenacaoMarcoAtividade}" 
													disabled="#{relatorioObraMB.statusProjetoRelatorioObraMB.habilitarNrOrdenacaoMarcoAtividade}"
													rendered="#{relatorioObraMB.statusProjetoRelatorioObraMB.relatorioSituacaoProjeto.tipoOrdAtiv == 'L' or ! relatorioObraMB.statusProjetoRelatorioObraMB.numeroOrdenacaoVazio}"
													size="20" />
													
									<h:inputText value=""
												 disabled="#{relatorioObraMB.statusProjetoRelatorioObraMB.habilitarNrOrdenacaoMarcoAtividade}"
												 rendered="#{relatorioObraMB.statusProjetoRelatorioObraMB.relatorioSituacaoProjeto.tipoOrdAtiv != 'L' and relatorioObraMB.statusProjetoRelatorioObraMB.numeroOrdenacaoVazio}"
												 size="20" />
								</rich:column> 
								<rich:column	width="20%">
									<h:outputText value="#{item.txMarcoAtividade}" />
								</rich:column> 

								<rich:column	width="10%">
									<h:outputText value="#{item.dtInicioPrevistoAtividade}"
												  rendered="#{item.inMarcoProjeto eq 'A'}">
										<f:convertDateTime pattern="dd/MM/yyyy" />
									</h:outputText>
								</rich:column> 
								<rich:column	width="10%">
									<h:outputText value="#{item.dtFinalPrevistoAtividade}" >
										<f:convertDateTime pattern="dd/MM/yyyy" />
									</h:outputText>
								</rich:column>
								
								<rich:column	width="10%">
									<h:outputText value="#{item.dtInicioRpld}"
												  rendered="#{item.inMarcoProjeto eq 'A'}" >
										<f:convertDateTime pattern="dd/MM/yyyy" />
									</h:outputText>
								</rich:column> 
								<rich:column	width="10%">
									<h:outputText value="#{item.dtFinalRpld}" >
										<f:convertDateTime pattern="dd/MM/yyyy" />
									</h:outputText>
								</rich:column>
								<rich:column	width="15%">
									<h:outputText value="#{item.descricaoStatus}" />
								</rich:column>
								
								<rich:column	width="15%">
									<h:outputText value="#{item.txJustificativa}" />
								</rich:column>  
							</rich:extendedDataTable>
							<aplicacao:validateForm seletor="listaRelatorioMarcoAtividade" 
													contextGrid="true" 
													required="#{relatorioObraMB.statusProjetoRelatorioObraMB.validaRequiredMarcoAtividade}"
													msgLabel="#{msg.REL_OBRA_STATUS_PROJETO_MARCOS_ATIVIDADES_PROJETO}" />

atualmente eu só oculto as colunas que não é pra ser mostrada, sendo que não consigo centralizar as datas dtFinalPrevistoAtividade, dtFinalRpld

Agradeço a todos que puderem me ajudar.

Abraços

1 Resposta

Zenas

Olá Amigos,

Consegui resolver com o seguinte código javascript "jQuery"

<script type="text/javascript">
							//<![CDATA[
								var valor;
								jQuery('#formTabRelatorio\\:listaRelatorioMarcoAtividade\\:n tbody tr').each(function(){
									tr=jQuery(this);
									valor=tr.children('td:eq(2)').text();

									if (valor == ''){
										jQuery(this).children('td:eq(2)').remove();
										jQuery(this).children('td:eq(2)').attr('colspan', '2');
										jQuery(this).children('td:eq(2)').attr('align', 'center');

										jQuery(this).children('td:eq(3)').remove();
										jQuery(this).children('td:eq(3)').attr('colspan', '2');
										jQuery(this).children('td:eq(3)').attr('align', 'center');
										
									}

								});
								
							
							//]]>	
						</script>

Abraços a todos,

Criado 13 de fevereiro de 2012
Ultima resposta 13 de fev. de 2012
Respostas 1
Participantes 1