Ordenação de dados.... (TABULAÇÃO ?)

7 respostas
w_t3c

Em primeiro lugar desculpe se este assunto já foi posto ou esta em lugar errado…

Bem é o seguinte, tenho uma rotina que envia dados para uma Jtable, depois recupero este dados para um ArrayList que posteriormente são enviados via e-mail.

A minha dificuldade esta em ordena estes dados, pois o mesmo “sai“ todo disforme.

Olha um trecho da rotina

DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();

			Vector data = dtm.getDataVector();
			Vector row;// = dtm.getDataVector();

			int V_ColIndex = 0;
			int V_ColIndex1 = 1;
			int V_ColIndex2 = 2;
			int V_ColIndex3 = 3;

			L_coPAT = new ArrayList(dtm.getRowCount());

			for (int i = 0; i < dtm.getRowCount(); i++) {
				row = (Vector) data.elementAt(i);

				
				L_coPAT.add(row.get(V_ColIndex) + "        "
						+ row.get(V_ColIndex1) + "         "
						+ row.get(V_ColIndex2) + "         "
						+ row.get(V_ColIndex3));
				
				
				msg.println(L_coPAT.get(i));

			}

Ficar assim :

Prezado
Seque ALTERAÇÃO no PATRIMÔNIO.
--------------------------------------------------------------------
PAT   |     EQUIPAMENTO      |     DE        |     PARA            |
--------------------------------------------------------------------
830        MONITOR         RODRIGO         SOLANGE
1815        COMPUTADOR         RODRIGO         SOLANGE
1542        COMPUTADOR         SOLANGE         T.I  - RESERVA 
1534        MONITOR         SOLANGE         T.I - RESERVA
1616        COMPUTADOR         FRED         T.I - RESERVA
1624        MONITOR         FRED         T.I - RESERVA
831        MONITOR         LUIS         FRED
1816        COMPUTADOR         LUIS         FRED

Quem puder me ajuda…

Vlw
:smiley:

7 Respostas

_fs

http://www.guj.com.br/posts/list/38856.java
http://www.guj.com.br/posts/list/36817.java

V

msg.println(L_coPAT.get(i)+ “\t”);

w_t3c

Po… é triste… O mal de iniciantes como EU, é que agente nunca sabe se expressar direito…
O que eu realmente quero e que os dados sejam organizados de maneira uniforme.
Tal como:

1    2                          3              4
--------------------------------------------------------------------
 PAT   |     EQUIPAMENTO      |     DE        |     PARA            |
--------------------------------------------------------------------
 830   MONITOR                   RODRIGO       SOLANGE
 181534COMPUTADOR                RODRIGO       SOLANGE
 154   COMPUTADOR                SOLANGE       T.I  - RESERVA 
 1     MONITOR                   SOLANGE       T.I – RESERVA

Quero que o dado da segunda coluna sempre comece no ponto 2, independente do tamanho do dado na coluna 1, e assim por diante.

LIPE e victorhugomuniz, obrigado…+ não era bem isso que eu quero… + vlw…

dudaskank

Você pode usar o printf, da classe PrintStream, antes de adicionar ao ArrayList. Ficaria algo assim:

printf("%6d %40s %20s %20s", pat, equipamento, de, para);

Acho que da pra pegar a idéia hehe

falou

[edit]A classe String tem um método estático chamado format(), dá o mesmo resultado e não vai precisar instanciar outras classes, só vi agora hehehe[/edit]

w_t3c

Po dudaskank , num intindi muita coisa não… :shock: sou iniciante… + ja sei oque procurar…vou pesquisar sob a classe PrintStream e o método format(), que vc falou… vlw

So pra lembrar : Recupero os dados de JTable para um ArrayList depois empurro os dados via email…

vlw

davidbuzatto

O que o dudastank quis dizer é isso aqui.

String pat = "";
String equipamento = "";
String de = "";
String para = "";

for ( int i = 0; i < tabela.getModel().getRowCount(); i++ ) {

    pat = tabela.getValueAt( i, numeroDaColunaDoValorPAT ) + "";
    equipamento = tabela.getValueAt( i, numeroDaColunaDoValorEQUIPAMENTO ) + "";
    de = tabela.getValueAt( i, numeroDaColunaDoValorDE ) + "";
    para = tabela.getValueAt( i, numeroDaColunaDoValorPARA ) + "";

    /* adiciona no array list o valor tabulado. Os valores entre % e a letra 
     * que representa o dado em sí (s de string) é a quantidade de  
     *caracteres que ocupa de colunas
    */
    seuArrayList.add( String.format("%6s %40s %20s %20s", pat, equipamento, de, para) );

}

Melhorou agora?

Falow!

w_t3c

Po… vou falar + oq ? :smiley: po cara vlw… agora entendi… tambem ne…? + vlw a todos… abraços…

Criado 10 de agosto de 2006
Ultima resposta 11 de ago. de 2006
Respostas 7
Participantes 5