Jump to content
  • 0

Таблица-список


svobodniy
 Share

Question

Добрый день.

Есть необходимость сделать пронумерованную таблицу-список. Проблема в том, что она часто пополняется или изменяется и тогда приходится заново нумеровать строки с места добавления/удаления строк. Попытался сделать 2 таблицы вложенные в одну главную: в первой - столбик номеров строк, во второй - данные. Так легче корректировать номера: если добавляются/удаляются строки, просто добавляем или удаляем номера внизу первой таблицы. Но есть загвоздка, некоторые строки в таблице с данными имеют 2-3 строки (данные в ячейки записаны через <br>, например, 2 мобильных номера телефона у человека), и тогда первая таблица с номерами съезжает.

Вопрос: как можно написать таблицу-список, чтобы не нужно было изменять номера строк каждый раз при добавлении/удалении данных?

Писал с помощью стандартных тегов <table> <tr> <td>...

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0
Добрый день.

Есть необходимость сделать пронумерованную таблицу-список. Проблема в том, что она часто пополняется или изменяется и тогда приходится заново нумеровать строки с места добавления/удаления строк. Попытался сделать 2 таблицы вложенные в одну главную: в первой - столбик номеров строк, во второй - данные. Так легче корректировать номера: если добавляются/удаляются строки, просто добавляем или удаляем номера внизу первой таблицы. Но есть загвоздка, некоторые строки в таблице с данными имеют 2-3 строки (данные в ячейки записаны через <br>, например, 2 мобильных номера телефона у человека), и тогда первая таблица с номерами съезжает.

Вопрос: как можно написать таблицу-список, чтобы не нужно было изменять номера строк каждый раз при добавлении/удалении данных?

Писал с помощью стандартных тегов <table> <tr> <td>...

1. Если не знаете, пойти и изучить JS.

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

Link to comment
Share on other sites

  • 0

А пример или ссылочку можно?

З.Ы. Думаете форумные возможности позволят такое сделать?

1. Если не знаете, пойти и изучить JS.

Мне легче прогу на Делфи написать и генерить в ней таблицы :unsure: Но хотелось вариант по-проще, что-нибудь из <table> соорудить... Таких вариантов вообще нет?

Link to comment
Share on other sites

  • 0
А пример или ссылочку можно?

З.Ы. Думаете форумные возможности позволят такое сделать?

Мне легче прогу на Делфи написать и генерить в ней таблицы :unsure: Но хотелось вариант по-проще, что-нибудь из <table> соорудить... Таких вариантов вообще нет?

Если не таблицей, а использовав теги OL>LI

Link to comment
Share on other sites

  • 0

Список не подходит, т.к. должны быть колонки. Приведу таблицы из 2х строк, одна из которых двойной высоты.

<table border="1" cellspacing="0" cellpadding="2" align="center">
<td>
<table rules="all">
<tr><th>№</th></tr>
<tr><th>1</th></tr>
<tr><th>2</th></tr>
</table>
</td><td>
<table rules="all">
<tr>
<th>имя</th>
<th>ник</th>
<th>моб. тел.</th>
<th>ICQ#</th>
<th>Skype</th>
<th>e-mail</th>
</tr>
<tr>
<td>Александр</td>
<td>ххххххх</td>
<td>915 ххх-хх-хх</td>
<td>ххххххххх</td>
<td></td>
<td>ххххххх@mail.ru</td>
</tr>
<tr>
<td>Антон</td>
<td>ххххххххххх</td>
<td>926 ххх-хх-хх<br>926 ххх-хх-хх</td>
<td>хххххххххх</td>
<td>хххххххх</td>
<td>ххххххх@rambler.ru</td>
</tr>
</table>
</td>
</table>

Вот так я хотел бы составить таблицу. При добавлении информации, надо только добавить с низу еще один номер... Но проблема в синхронизации строк, когда строки не одинаковой высоты...

Есть конечно самый простой способ - добавить еще н-ное кол-во столбцов и записывать туда дополнительные телефоны и т.д. Тогда все строки в таблице будут одинаковой высоты.

З.Ы. Есть варианты решения проблемки? :lol: Помогите, пожалуйста :unsure:

Да, вот еще скрин, чтобы не мучаться:

adabef4df9cd.png

Link to comment
Share on other sites

  • 0

Прошу прощения, но почему нельзя сделать вот так

<table rules="all">
<tr>
<th>№</th>
<th>имя</th>
<th>ник</th>
<th>моб. тел.</th>
<th>ICQ#</th>
<th>Skype</th>
<th>e-mail</th>
</tr>
<tr>
<th>1</th>
<td>Александр</td>
<td>ххххххх</td>
<td>915 ххх-хх-хх</td>
<td>ххххххххх</td>
<td></td>
<td>ххххххх@mail.ru</td>
</tr>
<tr>
<th>2</th>
<td>Антон</td>
<td>ххххххххххх</td>
<td>926 ххх-хх-хх<br>926 ххх-хх-хх</td>
<td>хххххххххх</td>
<td>хххххххх</td>
<td>ххххххх@rambler.ru</td>
</tr>
</table>

:unsure:

Link to comment
Share on other sites

  • 0

Я ж написал, так при добавлении новой строки где-то по середине или в начале, надо менять всю нумерацию. В моем варианте (если бы его можно было доделать) при добавлении строки в правую таблицу, в левой надо добавить номер в конце, а не перенумеровывать заново...

Link to comment
Share on other sites

  • 0
Я ж написал, так при добавлении новой строки где-то по середине или в начале, надо менять всю нумерацию. В моем варианте (если бы его можно было доделать) при добавлении строки в правую таблицу, в левой надо добавить номер в конце, а не перенумеровывать заново...

Но синхронизации не сделать никак.

Это где будет использоваться?

Link to comment
Share on other sites

  • 0
Список не подходит, т.к. должны быть колонки.

Разве нельзя вложить отдельные таблицы для каждой строки (из первого варианта) в LI-шки от OL? Ну и поиграться с бордерами (плюс, наверное, list-style-position: inside). Например, вертикальные бордеры задать ячейкам, а горизонтальные LI-шкам — вот и будет видимость "автонумеруемой" таблицы :angry:.

Хотя предложение s0rr0w, конечно, правильнее. Только для IE7- понадобятся "костыли" через экспрешны...

Link to comment
Share on other sites

  • 0
Хотя предложение s0rr0w, конечно, правильнее. Только для IE7- понадобятся "костыли" через экспрешны...

Система закрытая. Так что костыли понадобятся тому, кто не перейдет на новый браузер :angry:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy