Nov. 19th, 2005

ASP.NET

Nov. 19th, 2005 02:03 pm
metaclass: (Default)
Сижу вот пишу проект на сабже. Морду для Firebird, отчеты делать.
Примерная структура: аутентификация с использованием встроенной системы безопасности Firebird (пользователь, роль, пароль), динамически загружаемое из СУБД меню(настраивается под каждого пользователя/роль), из него ссылки ведут на страницу, собственно генеряющую отчет. Странице передается два идентификатора - один указывает на описание запроса к базе, а второй - на описание параметров отчета(параметры запроса, справочники всякие, русские заголовки таблиц и прочее безумие). Хранятся все описания и настройки тоже в базе данных.

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

В DataGrid вставляются TemplateColumn, шаблонам которых указываются загруженные из описания отчета классы, реализующие ITemplate. Можно извращаться с выводом содержимого элементов как душе угодно.

Печать делается сугубо в лоб - два css с разными media:
<LINK media="print" href="print.css" type="text/css" rel="stylesheet">
<LINK media="screen" href="screen.css" type="text/css" rel="stylesheet">
Все ненужные на печати элементы помечаются cssclass="noprint", которому в print.css указано display:none. Таким образом одна и таже страница является и интерфейсом и печатной формой.

Наткнулся на безумие, связанное с динамической генерацией элементов управления для параметров запроса - не загружают свое состояние, так как создаются в Page_Load, уже после загрузки ViewState. Нашел описание workaround здесь. Сейчас буду осмысливать, как впихнуть это счастье в свой проект.

Не совсем ясно, как реализовать справочники для параметров. Или я уже совсем на десктопных приложениях зациклился или без модальных/псевдомодальных диалогов справочник особо не сделаешь. Была мысль сделать что-то вроде гугловых подсказок c использованием ajax, но долго разбираться, поэтому, скорее всего, не в этой версии.

ASP.NET

Nov. 19th, 2005 05:54 pm
metaclass: (Default)
Так, первоначальный вариант справочников для использования в проекте на сабже, кажеццо, придумал - ссылаться на отдельную страницу с указанием чего выбирать, при выборе сохранять в cookies и возвращаться обратно.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 9th, 2025 06:03 pm
Powered by Dreamwidth Studios