Суббота, 18.05.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2017 » Август » 11 » «Отчёты всевозможные» (необычный экран, ASPX)
22:04
«Отчёты всевозможные» (необычный экран, ASPX)

«Отчёты всевозможные» (необычный экран, ASPX)

Глянула я на размер текстов и у меня создалось впечатление, что я несколько погорячилась, пообещав всё это описать. Принципиально сложного ничего, но довольно длинно. 
Но попробую. Мне надо сделать экран с человекам, группой, подгруппой, текстом и суммой. Самый простой способ – взять примерно такой же и поменять там текст в нужных местах.
Есть у меня примерно такой экран, вот он («Назначение в штатное расписание»)::

Мне отсюда надо убрать два списка (+/-, нагрузка) и добавить текст примечания. Ещё надо будет все это переставить потому что логично вначале человека вводить а потом информацию по нему.
Чего там с настройками документа?:

Нет никакого смысла заводить под этот документ отдельную таблицу, всё прекрасно поместиться в таблице типа «Справочник». Просто в одно из полей надо будет писать идентификатор строки из списка людей. Какой-нибудь из списков можно для этого приспособить. Так и сделано. Идентификаторы людей записываются в третий список:

Описание экрана хранится в двух файлах ASPX (вид HTML страницы и программы выполняемые на стороне клиента)  и ASPX.CS – программы, выполняемые на стороне сервера.

Не особо вдаваясь в то, что понаписано скажу что надо тут найти и удалить два списка и добавить одни текст. На всё остальное можно не смотреть. Оно такое какое должно быть. Наверное оно зачем-то нужно.
CodeFile – ссылка на CS файл. Естественно надо будет поменять название на какое-то другое dXXX/aspx.cs.
Register – написанные необычные экранные компоненты. Может что и лишнее, то ничем не мешает. Нет смысла удалять.
Название (title) «Типы данных». Здесь явно какое-то другое должно быть название (типа «Назначение в штатное расписание»), но раз тут так написано, то этот заголовок меняется в другом месте.
Со строки 22 по строку 42:

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

Вот они с характерными названиям:

Чтобы проще было в тексте видеть что тут что, названия имеют префикс.
ddl – поле со списком (от DropDownList):

txt – текст (от TextBox) , причём не только текст но и число и дата. Сам по себе интернет (HTML)  не имеет отдельных компонент для ввода этих данных. Для него это всё информация (буквы) в тексте.

btn – кнопка

Кроме очевидного (сохранить, отмена) есть кнопки в начале каждой строки. Но эти кнопки имеют префикс lnb (от LinkButton)
На самом деле на экране кроме этого есть ещё только сама таблица со списком строк. И это почти всё, что вообще бывает, т.е может располагаться на экране.
Осталось понять, что делает эта функция (InitializeRequest). Она делает недоступными элементы формы на время пока обрабатывается запрос к серверу. Это чтобы пользователь не щёлкал без толку по кнопкам пока выполняется операция и сразу видел что что-то выполняется (индикатор типа повисших на экране «песочных часов»). Экран можно разделить на три части. Верхняя (Top) содержит элементы поиска. В середине таблица с данными. В внизу (bottom) элементы в которых корректируется информация.
Там написано что если (if) обращение к серверу инициализировал какой-то элемент из предназначенных для поиска то надо временно заблокировать все поисковые элементы TopDisable(true) (элементы подвала блокировать не надо потому что их в режиме поиска не видно). Если же обращение к серверу возникло при корректировке информации и его вызвал элемент подвала, то надо блокировать весь подвал BotDisable(true);
Поисковая часть экрана у меня не изменится. А вот внизу придётся убрать два списка и добавить текст. Т.е будет что-то типа такого:

Ссылка на человека у меня будет храниться в первом списке а не в третьем, и добавится примечание (txt_rem1_txtName)
Сами функции, делающие элементы недоступными, со списком того, чего дисабле:

Два списка удалить, один текст добавить, один номер поменять (не ddl_lst3 а ddl_lst1).
Начало описания страницы:

Ничего тут менять не надо в данном случае, но если приглядеться то видно что тут последовательно написано всё, что выводится в верхней части (от кнопки «Добавить строку» до кнопки «Поиск»). А вот слов «Район» и «Учр» нет потому что вводом учреждения (и отрисовкой информации на экране) занимается специальная компонента ddlU (внутри себя).
C 208 строки начинается описание таблицы просмотра. У таких таблиц свой префикс в названиях (dtl), но поскольку больше на этой странице таблиц нет, это и есть всё название.
Описание таблицы, которая рисуется сразу после кнопки «Поиск»:

Вначале то, что будет в заголовке (HeaderTemplate) а потому то, что будет в каждой строке (ItemTemplate). Поскольку экран уникальный для конкретной информации сюда надо просто врисовать последовательно названия колонок (Учр, Дата, ФИО, Вопрос, Ответ, Примечание, число)
Продолжение описания списка строк:

В начале строки – описания кнопок (ImageButton) которое менять не надо. Потом учреждение и дата, которые тоже менять не надо. А потом идёт описание собственно информации. Там надо последовательно написать названия тех полей, в которых хранимая процедура передаст информацию.
Начало описания подвала (параметров ввода информации):

Поскольку тут анкета, то слово «Группа» заменить на слово «Вопрос». Слово «Должность» заменить на слово «Ответ». Два выбора из списка (ddl_lst1, ddl_lst2) убрать вообще.
В описаниях элементов есть поле NextTag. Это имя того элемента на который перейдет курсор при нажатии Enter. Его для части элементов тоже придётся поменять. Чаще всего ненужные элементы засовываются в конец и можно до них не доходить. Но иногда надо что-то проскакивать (по умолчанию) что засунуто в середине списка полей (перейти на них можно щёлкнув мышкой) . Для таких случаев и сделан этот параметр.
Вот и всё описание страницы:

Со строки 338 начинается описание обычно невидимого вопроса об удалении строки, а туда куда указывает стрелка надо воткнуть описание ввода текстового примечания. Как выглядит это описание я естественно не помню. Благо у меня под рукой куча текстов, сейчас найду. Вот оно (в d668.aspx):

tx:name_m – ввод строки средней по длине, как раз то, что мне нужно. И вовсе это не номер документа (txt_docnum) а что-то типа txt_rem1. Заголовок не «№ док» а «Примечание». AutoPostBack (т.е обращение к серверу после ввода информации) вроде бы не нужен (т.е должно быть false).
Это всё. Дальше там идёт всякая служебная информация, которую менять не надо.

 

Просмотров: 180 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz