Вывод что-то вроде rowspan с динамическим количеством записей - PullRequest
0 голосов
/ 11 августа 2010

С учетом таблицы, подобной этой:

Col 1  |  Col 2
  1         2
  1         3
  2         4

... и может быть любым числом 1, 2 и т. Д. В столбце 1. Я хочу динамически вывести что-то, что будет выглядеть так:

<table>
    <tr>
        <td rowspan="2">
            1
        </td>
        <td>
            2
        </td>
    </tr>
    <tr>
        <td>
            3
        </td>
    </tr>
    <tr>
        <td rowspan="1">
            2
        </td>
        <td>
            4
        </td>
    </tr>
</table>

Моя проблема в том, что для вышеупомянутого html мне нужно было бы подсчитать количество различных единиц, чтобы найти соответствующее число строк, а затем вернуться назад и перебрать их для вывода html. Мне было просто интересно, есть ли более простой / быстрый способ сделать что-то подобное, где я мог бы просто перебирать записи и добавлять что-то, когда следующая строка в столбце 1 отличается от последней строки в столбце 1.

Я прочитал что-то, что звучало так, как будто я мог просто использовать rowspan = "0" для первой записи и разделить группы по тегам tbody следующим образом:

<table>
    <tbody>
        <tr>
            <td rowspan="0">
                1
            </td>
            <td>
                2
            </td>
        </tr>
        <tr>
            <td>
                3
            </td>
        </tr>
    </tbody>
    <tbody>
        <tr>
            <td rowspan="0">
                2
            </td>
            <td>
                4
            </td>
        </tr>
    </tbody>
</table>

... и rowspan = "0" будет просто охватывать секцию tbody, в которой он содержится. Мне не удалось найти много информации об этом методе, и я не смог заставить его работать в IE или Fire Fox. Так есть ли что-нибудь в этом духе, что ускорит мой рендеринг HTML? Заранее спасибо.

1 Ответ

1 голос
/ 17 августа 2010

Как насчет таких попыток?

<table>
  <tbody>
      <tr>
          <td rowspan="10">
              1
          </td>
          <td>
              2
          </td>
      </tr>
      <tr>
          <td>
              3
          </td>
      </tr>
  </tbody>
  <tbody>
      <tr>
          <td rowspan="10">
              2
          </td>
          <td>
              4
          </td>
      </tr>
  </tbody>
</table>

По крайней мере, на этой таблице это выглядело так, как будто работало в IE8 и FF 3.6.Я предполагаю, что если rowspan = "10" отлично работает на таблице с 3 строками, имеющими 2 раздела (2 строки в первую очередь, 1 строка во второй), то rowspan = "10000" также будет работать.

Редактировать: о да, согласно паре сайтов, rowspan = "0" пока работает правильно только в Opera.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...