1
resposta

Alterando a ordem de inserção do novo paciente na tabela

Olá a todxs! Espero que estejam bem :D

A minha dúvida é a seguinte, no código, ao adicionarmos os dados o novo paciente fica alocado na última linha da tabela. Mas e se o cliente quiser alocar os dados de novos pacientes na parte de cima da tabela? Qual propriedade eu teria de usar pra alterar isso?

1 resposta

Olá, tudo bem com você?

Peço desculpas pela demora em lhe responder.

Para definirmos em qual ponto da tabela iremos adicionar o novo paciente, faremos o uso do método insertRow(). Este método insere uma nova linha na tabela e retorna uma referência para a linha criada. Você pode usar o índice da linha para definir onde a nova linha deve ser inserida. Neste caso, para inserir sempre na primeira linha utilizaremos o índice 0, caso fosse a segunda linha o índice 1, já para inserir na última posição o índice -1 deve ser utilizado.

No exemplo abaixo, o método insertRow(indice) é utilizado para criar uma nova linha para a tabela na posição 0 (primeira linha abaixo do cabeçalho) e o método appendChild() é responsável por adicionar esta linha a tabela:

function montaTr(paciente) {
    var pacienteTr = document.createElement("tr");
    pacienteTr.classList.add("paciente");

    var tabela = document.getElementById("tabela-pacientes")
    var primeiraLinha = tabela.insertRow(0);

    primeiraLinha.appendChild(montaTd(paciente.nome, "info-nome"));
    primeiraLinha.appendChild(montaTd(paciente.peso, "info-peso"));
    primeiraLinha.appendChild(montaTd(paciente.altura, "info-altura"));
    primeiraLinha.appendChild(montaTd(paciente.gordura, "info-gordura"));
    primeiraLinha.appendChild(montaTd(paciente.imc, "info-imc"));

    return pacienteTr;
}

Resultado:

Gif mostrando o site Aparecida Nutrição onde é inserido o paciente Danilo e Marcelo, onde ambos ocupam a 1° e 2° posição das linhas da tabela respectivamente

Espero ter ajudado.

Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!