Como criar uma tabela dinâmica com ASP.NET

 

Quando precisamos criar um formulário e não sabemos quantos text boxes vamos utilizar, quantas linhas a tabela irá ter ou outros controles que serão necessários no formulário nós precisamos criar um tabela dinâmica. Como exemplo um formulário onde o usuário irá digitar o CPF dos alunos de uma determina sala de aula, quantos text boxes eu vou utilizar? Não sei, depende da quantidade de registros no banco. Com ASP.NET é fácil fazer este tipo de formulário, basta saber a quantidade de alunos na sala e gerar uma tabela dinâmica utilizando HTML server controls, veja um exemplo abaixo de como criar uma tabela dinâmica com ASP.NET.

 

protected void Page_Load(object sender, EventArgs e)

    {

        // Cria um novo objeto HtmlTable.

        HtmlTable table1 = new HtmlTable();

 

        // Propriedades de formatação.

        table1.Border = 1;

        table1.CellPadding = 3;

        table1.CellSpacing = 3;

        table1.BorderColor = "red";

        // InĂ­cio do conteĂşdo da tabela.

        HtmlTableRow row;

        HtmlTableCell cell;

        for (int i = 1; i <= 6; i++)

        {

            // Cria uma nova linha e adiciona o background

            row = new HtmlTableRow();

            row.BgColor = (i%2 == 0 ? "lightyellow" : "lightcyan");

            for (int j = 1; j <= 4; j++)

            {

                //Cria uma cĂ©lula e adiciona um texto..

                cell = new HtmlTableCell();

                cell.InnerHtml = "Linha: " + i +

                                 "<br />CĂ©lula: " + j;

                // Adiciona a celula na tabela.

                row.Cells.Add(cell);

            }

            // Adiciona a linha na tabela.

            table1.Rows.Add(row);

        }

        // Adiciona a tabela na página.

        Controls.Add(table1);

    }

No exemplo acima foram criados dois loops. O loop externo cria as linhas. O loop interno cria as células, para cada linha e adicionado uma a célula na linha atual, quando o loop interno encerra, é adiciona a linha inteira para a tabela. O passo final ocorre quando o loop externo é encerrado. Neste ponto o código adiciona a tabela completa na pagina.

 

Veja na figura o resultado.

 

Fabio Galante Mans
fabio.galante@mans.com.br
www.aspneti.com

fabio.galante@netitc.com.br
www.netitc.com.br – Hospedagem para desenvolvedores