Таблицы

Отчётная форма может включать произвольное число таблиц. Таблицы могут встречаться только в разделе <body>.

Каждая таблица начинается тегом <table> и заканчивается тегом </table>, внутри которых расположены не менее одной строки (тег <tr>) и не менее одного столбца (теги <td> и <th>). Теги <td> и <th> должны употребляться в контексте тега <tr>. Для вставки пустой ячейки следует употреблять конструкцию: <td></td>.

Для наглядности рассмотрим пример простейшей таблицы на рисунке и приведем ее код.

<body>
  <table width=300px>
     <tr>
       <td style="border-width: 0"></td>
       <th>столбец 1</th>
       <th>столбец 2</th>
       <th>столбец 3</th>
    </tr>
    <tr>
       <th>строка 1</th>
       <td>1x1</td>
       <td>1x2</td>
       <td>1x3</td>
    </tr>
    <tr>
       <th>строка 2</th>
       <td>2x1</td>
       <td>2x2</td>
       <td>2x3</td>
    </tr>
  </table>
</body>

При создании данного примера учитывались некоторые тонкости построения таблиц в программе СБиС++. Остановимся на них подробнее. По умолчанию ширина таблицы равна ширине блока, в котором она задается. В данном случае таблица должна растянуться на всю страницу, но явно заданное значение параметра width отменяет значение по умолчанию. Если указанное значение меньше реальной ширины таблицы, то она будет расширена до нужного размера. Так же по умолчанию у таблицы всегда рисуется рамка черного цвета шириной 1px. Для того, чтобы первая ячейка первой строки (пустая) не прорисовывалась, ставим значение параметра border равным 0.

Теги <thead>, <tbody>, <tfoot> задают более строгую структуру таблицы. Они могут употребляться только в контексте тега <table>. Приведем еще один пример таблицы с более сложной структурой.

<table style="width: 400px">
  <thead>
    <tr>
      <th>Ф.И.О.</th>
      <th>Сумма, руб.</th>
      <th>Оплачено, руб.</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Иванов Павел Анатольевич</td>
      <td>287,00</td>
      <td>287,00</td>
    </tr>
    <!-- Аналогично другие строки таблицы -->
  </tbody>
  <tfoot>
    <tr>
      <th style="border-top: 2px solid black; text-align: right">ИТОГО</th>
      <th style="border-top: 2px solid black; text-align: right">2207,50</th>
      <th style="border-top: 2px solid black; text-align: right">1857,50</th>
    </tr>
  </tfoot>
</table>

Как видно из вышеприведенного примера теги <thead>, <tbody>, <tfoot> позволяют разбить таблицу на логический участки. Это необходимо в случаях, когда содержимое таблиц может занять более чем одну страницу. Тогда при использовании такой структуры можно, например, выводить раздел <thead> в начале каждой новой страницы или подводить промежуточные итоги по страницам в элементе <tfoot>. Все эти свойства задаются с помощью технологии каскадных таблиц стилей, о которой речь пойдет в главе 4. А более сложные примеры создания таблиц с использованием этой технологии и их подробное описание можно найти в главе 5.