обновление части грида

  • Автор темы Автор темы makvik
  • Дата начала Дата начала

makvik

Новичок
обновление части грида

Есть таблица примерно такого типа

<table>
<tr>
тут идут заголовки полей, кнопки сортировки в прямом или обратном порядке и.т.п.
<td> Заголовок ... и прочее </td>
</tr>
<tr>
тут идут сами поля
<td> только значение поля </td>
</tr>
</table>

Помимо значений полей, справа имеется кнопочка "удалить". Допустим я удаляю одну строку - на сервер идёт Ajax-запрос, сервер выполняет удаление и... Вот тут возникает проблемка. Обновлять всю таблицу вместе с заголовками не хочется - хочется, чтобы обновилась только та часть, где находятся строки со значениями

Как эту часть пометить ( в какой контейнер пихнуть), чтобы впоследствии наполнить этот контейнер ответом с сервера?

Вот так у меня не работает

<table>
<Tr> Заголовки </tr>
<div id="ForUpdate">
...
</div>
</table>
 
зачем тебе контейнер. тебе нужно удалить либо скрыть строку - tr

-~{}~ 10.05.08 20:55:

Код:
<table>
<tr>
    <td>1111</td><td><a href="javascript: void(0);" onclick="hideTr(this);">test</a></td>
</tr>
<tr>
    <td>2222</td><td><a href="javascript: void(0);" onclick="hideTr(this);">test</a></td>
</tr>
<tr>
    <td>3333</td><td><a href="javascript: void(0);" onclick="hideTr(this);">test</a></td>
</tr>
</tr>
</table>
<script>
function hideTr(el) {
el.parentNode.parentNode.parentNode.removeChild( el.parentNode.parentNode );
}
</script>
 
тоже сначала так думал.
У меня на страницу будет выводиться N-e кол-во записей. При удалении M записей останется N-M, что не есть гут. Поэтому после удаления нужно каждый раз подгружать "страницу" заново.

Да к тому же ещё потом нужно будет сортировать этот самый грид, тут тоже самое понадобиться
 
ну тогда проще менять весь контент, ведь кроме таблицы нужно будет ещё и пэйджинг переделывать.
а чтобы чтобы добавить строку после hideTr() можно сделать addTr() в prototype есть возможность делать шаблоны, сделал шаблон для tr получил json, сделал appendChild

-~{}~ 10.05.08 21:05:

а контейнер получится будет вставлять n+1 строку не в конец, а вместо старой
 
в контейнер я предпологал грузить все N строк. Хочу так сделать даже не из-за удаления, в этом случае ещё можно извернуться, а из-за сортировки этого грида. Тут уже полюбому весь список придётся подгружать.

З.Ы.
Пэйджинг идёт отдельным модулем - о нём я пока вообще не переживаю.
 
тогда не парился бы и обновлял всю таблицу и заголовки в том числевариант с дивом не проходит потому как ты пытался засунуть див вместо таблицы
можно сделать две строки в первой таблица с заголовками во второй таблицы с результатами, но это глючно
 
Не, не вариант всё-таки.
буду ещё думать, искать =). Надеялся, что решение при таком раскладе существует, просто я о нём не знаю.
 
вариант есть, только мне он не нравится, я бы пошёл по пути наименьшего сопротивления.
вобщем так, при запросе берешь таблицу и удаляешь все строки кроме первой, ajax подтягивает данные для построения новых строк, которые добавляются таблицу.
мне этот вариант не нравится тем. что жабаскрипт будет формировать строки, соответственно сложнее менять дизайн.

-~{}~ 10.05.08 22:24:

фу, успел спасти свой ужин
 
Не пойму чуток одного момента

Есть такие теги - <thead> и <tbody>. В теории, думаю, можно присвоить им id и потом обновлять содержимое. Пробовал на практике - не работает такой способ.

Плохо пробовал или плохо думал?
 
Сверху