[OFF] DATATABLE PARA JAVA
Bom dia pessoal!
Me desculpem qualquer coisa se estou criando este tópico da forma errada. é porque não sei como faço pra criar um artigo. Quando vou em artigos ou codigos fonte não tenho opção para criar.
Sempre pesquisei em foruns na internet sobre a questão de existir DataTable pra java. Infelizmente não encontrei nenhuma. Então comecei a quebrar a cabeça pra conseguir criar um DataTable o mais semelhante possÃvel do .Net.
Espero que isso satisfaça as necessidades dos futuros leitores que como eu procurou e não achou pelo tema. E como o VBMANIA é bem conceituado, esses mesmos leitores acharão esse post quando fizer uma pesquisa no google.
esta é a classe:
Estão livres pra melhora-la ou adapta-la a gosto!
qualquer dúvida sobre ela estamos aÃ
Me desculpem qualquer coisa se estou criando este tópico da forma errada. é porque não sei como faço pra criar um artigo. Quando vou em artigos ou codigos fonte não tenho opção para criar.
Sempre pesquisei em foruns na internet sobre a questão de existir DataTable pra java. Infelizmente não encontrei nenhuma. Então comecei a quebrar a cabeça pra conseguir criar um DataTable o mais semelhante possÃvel do .Net.
Espero que isso satisfaça as necessidades dos futuros leitores que como eu procurou e não achou pelo tema. E como o VBMANIA é bem conceituado, esses mesmos leitores acharão esse post quando fizer uma pesquisa no google.
esta é a classe:
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.table.DefaultTableModel;
/**
*
* @author ACCIOLLY
*/
public class DataTable {
/**
*Este método é responsável por gerar um DefaultTableModel a partir de um sql.ResultSet
* @param RS Passar como parametro um sql.ResultSet
* @return model DataTableModel populado com os dados recuperados do ResultSet
* @throws SQLException
*/
public DefaultTableModel Fill(ResultSet RS) throws SQLException{
//Move para o ultimo registro do ResultSet
RS.last();
//cria um vetor bidimensional com as mesmas dimensões do ResultSet
String[][] vetor = new String[RS.getRow()][RS.getMetaData().getColumnCount()];
//move para o primeiro registro do ResultSet
RS.first();
//Alimenta o Vetor com os dados do ResultSet
for(int i = 0; i < vetor.length; i++){
for(int j = 0; j < vetor[i].length; j++){
vetor[i][j] = RS.getString(j + 1);
}
RS.next();
}
//cria um vetor unidimensional com a quantidade de colunas do ResultSet
String headers[] = new String[RS.getMetaData().getColumnCount()];
//Alimenta o vetor com o nome das colunas do ResultSet
for(int i = 0; i < headers.length;i++){
headers[i] = RS.getMetaData().getColumnLabel(i+1);
}
//fecha o resultSet
RS.close();
//Cria um novo objeto DataTableModel
DefaultTableModel model = new DefaultTableModel(new Object[][]{},headers);
//apaga todas as linhas
model.setNumRows(0);
//adiciona linhas com os registros do vetor bidimensional
for(int i = 0; i < vetor.length; i++){
String linha[] = new String[vetor[i].length];//este vetor é criado dentro do loop pra ser alimentado logo abaixo
for(int j = 0; j < vetor[i].length; j++){
linha[j] = vetor[i][j];//aqui ele é alimentado
}
model.addRow(linha);//a linha é adicionada no modelo
}
return model;
}
}
Estão livres pra melhora-la ou adapta-la a gosto!
qualquer dúvida sobre ela estamos aÃ
Acabei de enviar seu codigo para avaliação para ser registrado como um artigo no VBMANIA para facilitar ainda mais a pesquisa para quem necessita ACCIOLLY, Breve ele estará no ar.
Opa valeu aà amigão
Tópico encerrado , respostas não são mais permitidas