Самый простой способ реализовать сворачиваемые записи в таблице, созданной с помощью asp: Repeater? - PullRequest
1 голос
/ 17 сентября 2008

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

Это веб-приложение на C # .NET - данные поступают из веб-службы и отображаются на экране в виде таблицы. Строки таблицы генерируются с помощью asp: Repeaters, так что строки прекрасно чередуются с обработчиками. В таблице ранее содержался один элемент данных на строку. Теперь, по сути, таблица имеет подзаголовки ... Первая строка - это дата, вторая строка - строка данных, а все последующие строки - строки данных, пока не появятся данные новой даты, и в этом случае будет еще одна строка подзаголовка.

Сначала я подумал, что могу немного обмануть и сделать это довольно легко, чтобы сохранить текущую структуру ретранслятора - мне просто нужно скормить некоторые ячейки пустой строкой, чтобы в них не появлялись данные. Теперь, однако, мы рассматриваем один из этих +/- сверток рядом с каждой датой, чтобы они могли свернуть все данные. Мой разум сразу же начал скрывать строки, когда нажата кнопка ... но я не знаю, как скрыть строки из кода позади, если строка не имеет уникального идентификатора, и я не уверен, что вы можете сделать это с помощью повторителей .

Надеюсь, я хорошо выразил проблему. Я уверен, что найду способ ТБХ, но я только что увидел этот сайт на slashdot и подумал, что я его обожу :))

Ответы [ 2 ]

1 голос
/ 17 сентября 2008

Когда вы строите строку в событии привязки данных, вы можете добавить уникальный идентификатор, используя, скажем, идентификатор поля данных или что-то еще, что вы используете, чтобы сделать его уникальным.

Тогда вы могли бы использовать метод на стороне клиента, чтобы развернуть коллапс, если вы хотите заполнить его данными в начале, переключив параметр style.display в Javascript для элемента строки таблицы.

0 голосов
/ 17 сентября 2008

просто оберните содержимое шаблона элемента в asp: Panel, тогда у вас будет уникальный идентификатор. Затем добавьте немного jquery для некоторой специи;)

edit : только что заметил, что вы используете таблицу. поставить идентификатор в строке. затем переключите его.

...