Boa tarde!
Gostaria que me ajudassem a resolver um problema, que sei que para vocês será bem simples! Tenho uma lista de dados ligados a registros dentro de um banco de dados mysql e quero lista-los todos dentro de uma tabela. Exemplo: um usuário ou cliente cadastrado que possui uma lista de telefones de contato. Preciso listar os dados destes clientes e a sua lista de números de contato em uma única linha da tabela e acredito que uma combobox seria o ideal.
Estou usando um modelo customizado para fazer isso e gostaria que me dessem alguma dica de como resolver isso.
Modelo Customizado de Tabela
public class ModeloTabela extends AbstractTableModel
{
//Atributos
private ArrayList linhas = null; //Quantidade de Linhas
private String[] colunas = null; //Quantidade de Colunas
//Construtor
public ModeloTabela(ArrayList lin, String[] col)
{
setLinhas(lin);
setColunas(col);
}
//Getters e Setters
public ArrayList getLinhas() {
return linhas;
}
public void setLinhas(ArrayList linhas) {
this.linhas = linhas;
}
public String[] getColunas() {
return colunas;
}
public void setColunas(String[] colunas) {
this.colunas = colunas;
}
//Conta as Colunas
public int getColumnCount()
{
return this.colunas.length;
}
//Conta as Linhas
public int getRowCount()
{
return this.linhas.size();
}
//Retorna o nome das colunas
public String getColumnName(int numCol)
{
return this.colunas[numCol];
}
public Object getValueAt(int numLin, int numCol)
{
Object[] linha = (Object[]) getLinhas().get(numLin);
return linha[numCol];
}
}
Como é Preenchido
int i = 1;
ArrayList dados = new ArrayList();
ArrayList<Alunodados> dadosAluno = new ArrayList<>();
NAluno nAluno = new NAluno();
dadosAluno = nAluno.listarAluno(cbNomeGrupo.getSelectedItem().toString());
String[] Colunas = new String[]{"ID","Nome", "Nascimento", "Sexo", "Data Teste", "Mediunidade", "Nº Colete", "Grupo"};
for(Alunodados A:dadosAluno)
{
String[] dataCadastro = A.getDataCadastro().toString().split("-");
String novaDataCadastro = dataCadastro[2] + “/” + dataCadastro[1] + “/” + dataCadastro[0];
String[] dataNascimento = A.getDataNascimento().toString().split("-");
String novaDataNascimento = dataNascimento[2] + "/" + dataNascimento[1] + "/" + dataNascimento[0];
dados.add(new Object[]{i, A.getNome(), novaDataNascimento, A.getSexo(), novaDataCadastro, A.getMediunidade(), A.getNColete(), A.getNomeGrupo()});
i++;
}
ModeloTabela modelo = new ModeloTabela(dados, Colunas);
tabelaAlunos.setModel(modelo);
Pensei também em colocar um botão com um link para uma outra página para que estivesse sendo exibido os dados de contato de forma separada.
Dá uma olhada aí e me dê uma dica de como resolver isso.
Desde já, muito obrigado!