3
respostas

Dúvida montagem de linhas - Rowspan

Oi pessoal.

Conto com a ajuda de vcs. O que quero fazer é o seguinte:

<tbody>
    <tr>
        <td rowspan="4">Google</td>
        <td>Unidade Teste</td>
        <td rowspan="4">Analista de Sistemas</td>
        <td>Teste</td>
        <td rowspan="4">Observação</td>
    </tr>

    <tr>
        <td hidden>Google</td>
        <td>Unidade Teste 1</td>
        <td hidden>Analista de Sistemas</td>
        <td>Teste 1</td>
        <td hidden>Observação</td>
    </tr>

    <tr>
        <td hidden>Google</td>
        <td>Unidade Teste 2</td>
        <td hidden>Analista de Sistemas</td>
        <td>Teste 2</td>
        <td hidden>Observação</td>
    </tr>

    <tr>
        <td hidden>Google</td>
        <td>Unidade Teste 2</td>
        <td hidden>Analista de Sistemas</td>
        <td>Teste 3</td>
        <td hidden>Observação</td>
    </tr>
</tbody>

Sendo que tenho que fazer isto em C#, tentei assim:

for (int row = 0; row < linhasArray.Length; row++) {

    if (linhasArray[0] == null)
        linhasArray[0] = tr(td(noFiltrado.Item.Empresa).attr($ "rowspan = {linhasArray.Length}"),
            colunasArray[1],
            td(noFiltrado.Item.Cargo).attr($ "rowspan = {linhasArray.Length}"),

            colunasArray[3],
            td(noFiltrado.Item.Observacao).attr($ "rowspan = {linhasArray.Length}"));


}
for (int row = 1; row < linhasArray.Length; row++) {
    linhasArray[0] = tr(td(noFiltrado.Item.Empresa).attr("hidden"),
        colunasArray[1],
        td(noFiltrado.Item.Cargo).attr("hidden"),

        colunasArray[3],
        td(noFiltrado.Item.Observacao).attr("hidden"));

}


}

Este código funciona para montagem de duas linhas, quando passa de duas linhas, no caso deste html onde tenho 4 linhas - o que está ocorrendo é que no final a linha 3 sobrescreve a linha 2 e a linha 4 sobrescreve a 2,3.

No final a montagem que aparece é a seguinte:

<table border="1">

    <th>Empresa</th>
    <th>Unidade</th>
    <th>Cargo</th>
    <th>Nome</th>
    <th>Observação</th>

    <tr>
        <td rowspan="4">Google</td>
        <td>Unidade Teste</td>
        <td rowspan="4">Analista de Sistemas</td>
        <td>Teste</td>
        <td rowspan="4">Observação</td>
    </tr>

    <tr>
        <td hidden>Google</td>
        <td>Unidade Teste 2</td>
        <td hidden>Analista de Sistemas</td>
        <td>Teste 3</td>
        <td hidden>Observação</td>
    </tr>

    <tr>
        <td hidden>Google</td>
        <td>Unidade Teste 2</td>
        <td hidden>Analista de Sistemas</td>
        <td>Teste 3</td>
        <td hidden>Observação</td>
    </tr>

    <tr>
        <td hidden>Google</td>
        <td>Unidade Teste 2</td>
        <td hidden>Analista de Sistemas</td>
        <td>Teste 3</td>
        <td hidden>Observação</td>
    </tr>

</table>

Repare que a linha 2 e 3 foi sobrescrita pela 4. O que estou fazendo de errado?

Quero fazer exatamente o que fiz no 1º html.

Obrigada Flavia.

3 respostas

Bom dia.

Alguém poderia me ajudar?

Desde já agradeço.

Flávia, boa tarde!

Você pode compartilhar com a gente o seu projeto, para que possamos testar aqui.

Aguardo sua resposta e bons estudos!

Bom dia Felipe.

Gostaria muito , mas não tem como, meu projeto é muito grande. Por este motivo mandei um 1º html com o resultado desejado e o 2º html com o resultado alcançado no código c#, execute para entender melhor.

Obrigada. Flávia