E ai Arthur. Tudo bem?
Primeiro vamos ao CSS. Ele deve ter este padrão:
table.listaPaginada {
font-size: 14px;
}
/*tHead se refere a todo o cabeçalho*/
table.listaPaginada thead tr {
background-color: #69c;
}
/*tBody se refere a todo o corpo*/
table.listaPaginada tbody tr {
}
/*Para o esquema de cores das linhas
Este é o estilo da primeira linha */
table.listaPaginada tr.odd {
background-color: #fff;
}
/*Para o esquema de cores das linhas
Este é o estilo da segunda linha */
table.listaPaginada tr.even {
background-color: #def;
}
/*Coluna que pode ser ordenada*/
table.listaPaginada th.sortable {
}
/*Coluna que está atualmente ordenada*/
table.listaPaginada th.sorted {
text-color: red;
}
/*Coluna ordenada na ordem 1*/
table.listaPaginada th.order1 {
background-color: gray;
}
/*Coluna ordenada na ordem 2*/
table.listaPaginada th.order2 {
background-color: gray;
}
Onde "listaPaginada" é o nome do estilo que você terá que definir na sua display tag através do atributo "class" (class="listaPaginada"). Este padrão pode ser alterado modificando um arquivo de configuração dentro do JAR da display tag.
Para fazer paginação você só precisa informar o atributo "pagesize" informando a quantidade de linhas por página. Se o atributo não for informado ela entenderá que você não quer paginação.
Quanto a você ter três milhões de registros, a display tag (até onde sei) não dá suporte a busca paginada. O que ela faz é buscar toda uma lista de uma vez e guardá-la em sessão e à medida que a paginação é feita, ela utiliza a lista que está na sessão ao invés de buscar no banco novamente.
Eu te aconselho a não trazer JAMAIS os três milhoes de registros para uma lista paginada. Ninguém vai navegar nesta quantidade de registros. Faça um filtro para que seu usuário limite o tamanho da busca.
De qualquer modo, você encontrará mais informações no site da display tag seguindo a sessão "Tutorial" (http://displaytag.sourceforge.net/11/tut_basic.html).
Espero ter ajudado. Até.