powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / В каком виде хранить данные для формирования GUI
17 сообщений из 17, страница 1 из 1
В каком виде хранить данные для формирования GUI
    #38597926
DDiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложение web. За GUI отвечает некий фреймворк. Но это по сути не важно.
Есть необходимость рисовать пользователю некую табличку. Название колонок, строк, их объединения и прочее могут меняться, но не очень кардинально(хотя кто его знает что будет потом).
Как написать сам код и классы для этого, вопросов нет. Мне интересно как и где правильно(по фэншуйу) хранить эти самые изменяемые данные(название строк, колонок и прочую инфу), думаю что их можно назвать метаданными таблицы.
Только одних названий строк > 130, не считая названия колонок и прочей лабуды.

Сейчас храню эти данные в файлах, которые вычитываю перед построением таблицы, на их основе формирую некий класс, который и использую в дальнейшем для формирования представления таблицы.

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

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

-----
Если дела идут плохо, есть вероятность, что в ближайшее время они пойдут ещё хуже.(с)Мерфи
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38597961
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDiver,
1. Понять какого класса делаем программу (табличный редктор? Excel?)
2. Отделить представление от БЛ по MVC (компонент таблица отдельно - метаданные отдельно)
3. Что такое названия строк - непонятно.
4. Храни где угодно, например в XML как Excel на Сохрани как...
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38597977
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDiverСейчас храню эти данные в файлах, которые вычитываю перед построением таблицы, на их основе формирую некий класс, который и использую в дальнейшем для формирования представления таблицы.
Нужен ВИ или преценденты, т.к. приложение - веб.
Абстрактно - образец - Excel или таблица SmartGWT.
Абстрактно - объект таблица имеет метод.
Tabla.LoadFromFile(...... если юзверь сам сохраняет файлы.
Внутри файла есть метка версии.
IMHO
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38598062
DDiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
1. Программа вообще занимается совсем другим делом. Это как доп фича.
2. это понятно
3. сейчас объясню

Пользователь может в программе сформировать некий отчёт, данные этого отчета ложатся в модель. Он может выгрузить эти данные в тот же Excel + нужно из этой модели отрисовать данные в наглядном виде пользователю прямо в программу, только на просмотр. В зависимости от отчёт меняется внешний вид этого отображения.
Прицепил картинку.
Количество колонок и их порядок может меняться, количество строк и их порядок тоже, может просто измениться название строк или колонок. По сути это как шаблон, в который нужно выводить разные данные.
Сейчас у меня это сделано, но мне не нравиться как.
Хочу сделать некую универсальную рисовалку, которая получает модель с данными + некие правила рисования для конкретной модели, после чего отрисовывает данные.
Вопрос в том, как лучше и где хранить инфу о правилах рисования этого наглядного представления(наборы строк, колонок и доп инфа), в программе или же вне: в файлах, в БД или ещё где.

Вот спрашиваю и всё больше убеждаюсь что целесообразнее хранить в неких файлах со структурой.
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38598092
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDiver,
Так и не дал ВИ.
ВИ №1:
- Юзверь нажал кнопку Печать
- Получил список умолчательных шаблонов
- Выбрал шаблон Шахматка15
- Переделал её на 75 процентов
- Сохранил как... её на своём компе с именем МойКлассный шаблон.abc
....
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38598117
DDiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощение.

ВИ №1 "Показать отчёт за 1 квартал"
1. Пользователь открыл окно настройки параметров отчёта
2. Установил кликалки-жмакалки настроек
3. Нажал кнопку "просмотреть"
4. Рисуем 6 колонок и 10 строк, заполняем данными
5. Показываем результат пользователю

ВИ №2 "Показать отчёт за 2 квартал"
1. Пользователь открыл окно настройки параметров отчёта
2. Установил кликалки-жмакалки настроек
3. Нажал кнопку "просмотреть"
4. Рисуем 3 колонки, и 20 строк, заполняем данными.
5. Показываем результат пользователю

Набор сочетаний дата-вид заранее определён, пользователем меняться не может.
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38598262
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDiver,
чтобы не переписывать, выдели компонент таблица - отдельно.
А так, обычное дело:
Отчёт = СтатикаКонстанты + БЛ + ПеременныеПользователяНастройки + МатрицаДанных.
Хранить Переменную часть можно где угодно. Только хранить в паре с БЛ, т.к. это шахматки.
Можно сделать базовый класс для облегчения программисту.
IMHO
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38598418
programania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDiverПриложение web.
Мне интересно как и где правильно(по фэншуйу) хранить эти самые изменяемые данные(название строк, колонок и прочую инфу), думаю что их можно назвать метаданными таблицы.


Я сделал хранение каждой клетки формы в одной строке текстового файла.
Так можно нарисовать что угодно как в Excel. Например.
Все быстро загружается и легко сформировать в программе по мере необходимости
например, по произвольной таблице БД, используя комментарии БД как заголовки колонок.

Еще для web удобно хранить в формате html.
Тогда шаблон формы можно оформлять в Word, возможно, пользователем.
Чем заполнять поля можно указывать в комментариях к гиперссылкам или в сносках.
И по этому шаблону программа формирует отчет, заполняя поля из БД и повторяя строки.
И в нем уже на JS возможны фильтры, сортировки и т.п. подобно Excel
и даже редактирование полей, вставка, удаление строк. Например.
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38598441
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
programaniaи даже редактирование полей, вставка, удаление строк. Например.
прикольно)). Только полная замена веб-контекстного меню под мышкой вряд ли целесобразно IMHO
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38598561
DDiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
programania,
а можно кусок этого файла текстового? для примера.
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38598868
programania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDiverprogramania,
а можно кусок этого файла текстового? для примера.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Форма getstr.jfm для программы RF
альбомная 4% 12% 0% 4% width 1280 центрировать нет

onEvent 
if (E=='load') {...}
if (E=='key')
if (E.key=='Enter') ok.click; else
if (E.key=='Esc')  esc.click;
37 14 424 23t00000<12 ~id=title;стиль=u~Настройка пути
36 54 500 23t00000<16z~id=z;шрифт=courier~Введите путь/имя программы
36 83 500 27t11110<12z~id=txt;e=y~/usr/bin/elk-konqe
36 138 86 20b11110=12 ~id=ok~OK
onclick 
str=.txt; close(true);
130 138 84 20b11110=12 ~id=esc~Отмена
onclick 
close();

Описание клеток в строках с 4-числами в начале -
это координаты, тип, рамки, выравнивание, шрифт, id и т.п. и в конце - текст клетки
также следом, возможно, программа обработки мыши на клетке.
В начале параметры экспорта, печати и программа обработки клавишей и событий

Больше можно увидеть в плеере mp3 для android
Там в 5-и файлах jfm подобным способом описаны все формы плеера.
Их можно посмотреть из самого плеера: меню, все файлы, jfm, показать
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38598871
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
imho тогда уже и двоичный формат файла подойдёт...по классике ООП и сериализации
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38599023
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDiverPetro123,

Хочу сделать некую универсальную рисовалку, которая получает модель с данными + некие правила рисования для конкретной модели, после чего отрисовывает данные.
Вопрос в том, как лучше и где хранить инфу о правилах рисования этого наглядного представления(наборы строк, колонок и доп инфа), в программе или же вне: в файлах, в БД или ещё где.

Вот спрашиваю и всё больше убеждаюсь что целесообразнее хранить в неких файлах со структурой.

А зачем изборетать велосипед?
Возьмите Jasper Report.
Там есть что вам нужно и немного больше. :-)
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38599211
programania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123imho тогда уже и двоичный формат файла подойдёт...по классике ООП и сериализации
Тогда файл будет нечитаем, а мне нужно контролировать процесс и видеть результат.
И при изменении свойств обьектов клетки, формы все уже сделанные формы перестанут десериализироваться.

Petro123 Только полная замена веб-контекстного меню под мышкой вряд ли целесобразно IMHO
А как можно сделать не "полную замену веб-контекстного меню"?
Конечно для выбора функций для всего документа нетрудно и на JS сделать toolBar или mainMenu.
Но как выбрать функцию для указанного элемента документа кроме контекстного меню?

mad_nazgul А зачем изборетать велосипед?
Возьмите Jasper Report.
Велосипед нужно изобретать когда большая часть не нужна, а нужного нет и не будет,
а трудоемкость освоения и приспособления к своим нуждам больше чем на велосипед.
Но чтобы понять это нужно хотя бы знать как можно сделать велосипед и что он сможет.

А вот сможет ли Jasper Report создать html отчет с возможностью
фильтрации, сортировки и прочего как в Excel или хотя бы как в моем примере?
Или связать клавиши, контектсное меню в отчете с Java программой?
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38599236
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
programania,
1. А ты не совмещай отладку и формат сериализации. Для программиста текстовые файлы - это только логи. Для пользователя твой файл....большие сомнения.
Версия формата есть и в текстовых и бинарных.
2. У тебя пропало банальное "Скопировать выделенный текст".
Это ВЕБ. Там законы другие.
Совместить веб и десктоп никому не удалось)
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38600074
AlexJm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Совместить веб и десктоп никому не удалось)
Ну почему. Oracle Forms )
...
Рейтинг: 0 / 0
В каком виде хранить данные для формирования GUI
    #38600229
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexJm,
а почему не свежее - сильверлайт? ))
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / В каком виде хранить данные для формирования GUI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]