[Dúvida]Como colorir grid quando a data estiver Vencida e faltar 2 dias para vencer!

1 resposta
B

E ai GUJeiros, blza?
Então estou com um problema, utilizo um software open source erp, chamado freedom feito em java, em um dos modulos chamado CRM preciso que na grid de chamados os que tem data vencida fiquem mais facil de se visualizar, então decidi colocar cores para datas vencidas, as que já estão para vencer e null para as que estão no prazo, seria vermelho para data atrasada, amarelo para as que faltam apenas 2 dias para vencerem e normal para as que estão no prazo.

pesquisei bastante no forum e não consegui encontrar um meio de comparar as datas.

já utilizo algo para deixar as linhas coloridas ordenando entre branca e azul.

tab.setDefaultRenderer ( Object.class, new DefaultTableCellRenderer() {

						private static final long serialVersionUID = 1L;

						public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {

						super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

						if(isSelected) {
						setBackground(new Color(160,170,210));
						}
						else {

						if(row % 2 == 0){
						setBackground(new Color(255,0,0));
						} 
						else {
						setBackground(null);
						}
						}

						return this;
						}
					});

esse é o laço onde carrega os chamados, o que precisa ser comparado é DTPREVISAO.

tabchm.setValor( StringFunctions.sqlDateToStrDate( rs.getDate( GridChamado.DTPREVISAO.name() ) ), i, GridChamado.DTPREVISAO.ordinal()
for ( int i = 0; rs.next(); i++ ) {
					tabchm.adicLinha();

					tabchm.setValor( StringFunctions.sqlDateToStrDate( rs.getDate( GridChamado.DTCHAMADO.name() ) ), i, GridChamado.DTCHAMADO.ordinal() );
					tabchm.setValor( rs.getInt( GridChamado.PRIORIDADE.name() ), i, GridChamado.PRIORIDADE.ordinal() );
					tabchm.setValor( rs.getInt( GridChamado.CODCHAMADO.name() ), i, GridChamado.CODCHAMADO.ordinal() );
					tabchm.setValor( rs.getString( GridChamado.DESCCHAMADO.name() ), i, GridChamado.DESCCHAMADO.ordinal() );
					tabchm.setValor( rs.getString( GridChamado.SOLICITANTE.name() ), i, GridChamado.SOLICITANTE.ordinal() );
					// tabchm.setValor( rs.getString( GridChamado.STATUS.name() ), i, GridChamado.STATUS.ordinal() );
					imgColuna = Chamado.getImagem( rs.getString( "status" ), Chamado.IMG_TAMANHO_M );
					tabchm.setValor( imgColuna, row, GridChamado.STATUS.ordinal() );
					tabchm.setValor( rs.getBigDecimal( GridChamado.QTDHORASPREVISAO.name() ), i, GridChamado.QTDHORASPREVISAO.ordinal() );
					tabchm.setValor( StringFunctions.sqlDateToStrDate( rs.getDate( GridChamado.DTPREVISAO.name() ) ), i, GridChamado.DTPREVISAO.ordinal() );

					tabchm.setValor( rs.getString( GridChamado.DESCTPCHAMADO.name() ), i, GridChamado.DESCTPCHAMADO.ordinal() );

					tabchm.setValor( rs.getInt( GridChamado.CODCLI.name() ), i, GridChamado.CODCLI.ordinal() );
				
						
					// Se chamado estiver em atendimento

					if ( rs.getString( "ematendimento" ).equals( "S" ) ) {
						tabchm.setValor( chamado_em_atendimento, i, GridChamado.EM_ATENDIMENTO.ordinal() );
						tabchm.setValor( rs.getString( GridChamado.DADOS_ATENDIMENTO.name() ), i, GridChamado.DADOS_ATENDIMENTO.ordinal() );
					}
					else {
						tabchm.setValor( chamado_parado, i, GridChamado.EM_ATENDIMENTO.ordinal() );
						tabchm.setValor( "", i, GridChamado.DADOS_ATENDIMENTO.ordinal() );
					}
					
					
					
										
					tabchm.setValor( rs.getString( GridChamado.DETCHAMADO.name() ), i, GridChamado.DETCHAMADO.ordinal() );
					
					totalizacaoCham = totalizacaoCham.add(rs.getBigDecimal( GridChamado.QTDHORASPREVISAO.name() ) );
					
					row++;
					
				}

Bom alguem me da uma luz ai pls rs.
O intuito é que eu aprenda por isso prefiro uma dica que possa levar a solução do meu problema do que algo já resolvido, muito obrigado!

As modificações serão comitadas e disponibilizadas para a comunidade.

vlwww

1 Resposta

B

alguma dica :?:

Criado 28 de março de 2011
Ultima resposta 28 de mar. de 2011
Respostas 1
Participantes 1