Проектирование верхней треугольной таблицы в коде ASP.net? - PullRequest
1 голос
/ 06 июля 2011

Так что у меня глупая проблема, извините, но я начинающий в HTML и дизайне ... Я пытаюсь достичь верхней треугольной таблицы, я создаю свою таблицу в asp.net, код здесь мой код;

        for (int i = 0; i < 3; i++)
    {
        TableRow r = new TableRow();
        for (int j = 3; j > i; j--)
        {
            TableCell c = new TableCell()
            {
                Height = 100,
                Width = 100,
                ColumnSpan = j,
                BackColor = System.Drawing.Color.Blue
            };
            r.Cells.Add(c);
        }
        bottomRightTable.Rows.Add(r);
    }

Так что в основном я хочу получить это (извините за мои безумные навыки рисования, но я хотел прояснить себя) и еще раз извините, если это глупый вопрос, но я еще не очень разбираюсь в asp.net и я не хочу использовать пустые ячейки таблицы, я хочу использовать 6 ячеек, если я хочу создать треугольник, начинающийся с 3.

Большое спасибо за помощь!

Изображение для справки; enter image description here

1 Ответ

1 голос
/ 06 июля 2011

Я, честно говоря, понятия не имею, будет ли это работать, но попробуйте:

bottomRightTable.Attributes["dir"] = "RTL"; // Set the table to "right-to-left"

Теоретически, в правом столбце должно быть 0, в среднем столбце 1 и в левом столбце 2 .... так что вам придется изменить любую другую логику.

http://www.w3.org/TR/html4/struct/tables.html#h-11.2.1.1


Ваш алгоритм использует ColumnSpan, но ничего не делает. Это потому, что он устанавливает для ColumnSpan одинаковое значение для каждой ячейки в столбце. то есть:

<table>
    <tr>
        <td colspan="3" style="..."></td>
        <td colspan="2" style="..."></td>
        <td style="..."></td>
    </tr>
    <tr>
        <td colspan="3" style="..."></td>
        <td colspan="2" style="..."></td>
    </tr>
    <tr>
        <td colspan="3" style="..."></td>
    </tr>
</table>

Если вы попытаетесь исправить алгоритм ColumnSpan, вы получите:

<table>
    <tr>
        <td style="..."></td>
        <td style="..."></td>
        <td style="..."></td>
    </tr>
    <tr>
        <td colspan="2" style="..."></td>
        <td style="..."></td>
    </tr>
    <tr>
        <td colspan="3" style="..."></td>
    </tr>
</table>

squares

Так что, в принципе, я думаю, что вам нужно либо использовать взлом справа налево, либо использовать пустые ячейки.

...