Пример 1
Создадим текстовый файл, в котором разместим наши табличные данные следующим образом.
В 1-й строке укажем имена столбцов. Это - просто переменные, например p1, p2, ...
Они записываются через некоторый символьный разделитель, например, через запятую ',' или вертикальную черту '|'.
В конце строки следует нажать клавишу < Enter> Во 2-й строке записываются данные, через выбранный вами разделитель. Каждый элемент соответствует своему столбцу. Аналогично записываем остальные строки нашей таблицы. Если ваши данные содержат запятые, то в качестве разделителя лучше использовать |. |
Вот пример таблицы из 3-х столбцов и 5-строк данных (1-я строка - имена столбцов) c разделителем в виде запятой:
p1,p2,p3
В последней строке мы написали тэг HTML, а не просто слова или цифры.
Сохраним этот файл под именем, например, kadr.txt |
Теперь в HTML-код нужно вставить элемент ActiveX,
обеспечивающий интерпретацию данных из текстового файла с данными.
Он задается тэгом < OBJECT>, содержащим тэги параметров.
Вообще говоря, параметров у него много, но мы используем только некоторые.
Если вы используете кириллицу при наборе данных,
то для гарантированно правильного отбражения данных в таблице добавьте в тэг < OBJECT>
еще один параметр: < PARAM NAME='CharSet' VALUE='windows-1251'> |
Элемент ActiveX (объект STD): |
В нужном месте HTML-кода следует вставить группу тэгов, организующих таблицу для просмотра.
В этой таблице следует организовать лишь заголовки столбцов (если они нужны) и лишь одну строку данных.
Обратите внимание, как связана таблица с элементом ActivX. Атрибут DATASRC имеет значение # id_тэга_object, в нашем примере это #kadr. Атрибут DATAFORMATAS='html' указывает, что содержимое столбца следует интерпретировать, как HTML-код, а не рассматривать как текст. |
Таблица для отображения данных (вставляется в нужном месте HTML-кода): |
Вот как это все будет выглядеть на Web-странице:
Имя | Должность | Зарплата |
---|---|---|
Пример 2
Далее показан модифицированный пример той же базы данных.
Теперь можно производить сортировку данных, щелкнув на заголовке соответствующего столбца. Для этого, кроме объекта STD и таблицы, нам понадобится скрипт. Скрипт содержит функцию, реагирующую на щелчок путем модификации тэга < OBJECT>. Здесь использован следующий хитрый прием. Сначала база данных показывается без всякой сортировки. Мы сохраняем блок тэгов < OBJECT ...> кроме заключительного тэга < /OBJECT> в переменной obj. При щелчке на заголовке таблицы вызывается функция сортировки sort(field), которой передается имя поля. Эта функция дописывает к значению переменной obj строку, содержащую тэги, отвечающие за сортировку: ''. Далее, функция заменяет в HTML-коде страницы тэги < OBJECT ...> на те, которые содержатся в переменной obj. Это делается с помощью великолепного свойства outerHTML. Я его люблю и часто использую. Все эти раскрывающиеся папки на моем сайте сделаны с его помощью. Аналогично можно сделать и фильтрацию (выборку данных по заданному критерию). Подробности - в указанной выше книге.
|
На Web-странице это будет выглядеть следующим образом:
Имя | Должность | Зарплата |
---|---|---|
Пример 3
В этом примере мы показываем только одну строку таблицы в виде набора полей ввода данных.
Перемещение по строкам производится с помощью кнопок, которые выполняют методы (функции) объекта STD. Здесь мы не приводим блок тэгов < OBJECT...>, т.к. он такой же, как и в предыдущем примере.
Мы указали id в тэге < TABLE> и NAME в < INPUT>, чтобы иметь возможность обращаться к содержимому ячеек нашей таблицы из скрипта.
Например, чтобы получить текущее значение столбца p2 (Должность), следует использовать такую запись: |
На Web-странице это будет выглядеть так:
Имя |
Должность |
Зарплата |
Фильтр
Чтобы установить фильтр в базе данных (сделать выборку нужных строк),
следует в тэг < OBJECT> для для объекта STD дописать еще следующие параметры:
< PARAM NAME="FilterColumn" VALUE='имя_поля'>
< PARAM NAME="FilterCriterion" VALUE='операция_сравнения'>, где операция_сравнения есть =, ==, !=, <, >, <= или >=.
< PARAM NAME="FilterValue" VALUE=значение>
Использование фильтра рассмотрено в примере Поиск по сайту.