|
|
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
Приложение web. За GUI отвечает некий фреймворк. Но это по сути не важно. Есть необходимость рисовать пользователю некую табличку. Название колонок, строк, их объединения и прочее могут меняться, но не очень кардинально(хотя кто его знает что будет потом). Как написать сам код и классы для этого, вопросов нет. Мне интересно как и где правильно(по фэншуйу) хранить эти самые изменяемые данные(название строк, колонок и прочую инфу), думаю что их можно назвать метаданными таблицы. Только одних названий строк > 130, не считая названия колонок и прочей лабуды. Сейчас храню эти данные в файлах, которые вычитываю перед построением таблицы, на их основе формирую некий класс, который и использую в дальнейшем для формирования представления таблицы. Как вариант может создать некий интерфейс maker, и в него совать уже конкретные реализации maker'ов, которые знают названия строк и прочую необходимую лабуду для построения. Естественно для этого все эти названия и прочее будет захардкорено в эти конкретные реализации. Для изменения внешнего вида достаточно подсунуть другую реализацию. Цель махинаций, избавить себя в дальнейшем от переписывания кода формирования внешнего вида под новый вид таблички. Типа создал новый набор фалов, и подсунул в нужном месте программы эти файлы, вместо предыдущих. ----- Если дела идут плохо, есть вероятность, что в ближайшее время они пойдут ещё хуже.(с)Мерфи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 12:19 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
DDiver, 1. Понять какого класса делаем программу (табличный редктор? Excel?) 2. Отделить представление от БЛ по MVC (компонент таблица отдельно - метаданные отдельно) 3. Что такое названия строк - непонятно. 4. Храни где угодно, например в XML как Excel на Сохрани как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 12:42 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
DDiverСейчас храню эти данные в файлах, которые вычитываю перед построением таблицы, на их основе формирую некий класс, который и использую в дальнейшем для формирования представления таблицы. Нужен ВИ или преценденты, т.к. приложение - веб. Абстрактно - образец - Excel или таблица SmartGWT. Абстрактно - объект таблица имеет метод. Tabla.LoadFromFile(...... если юзверь сам сохраняет файлы. Внутри файла есть метка версии. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 12:52 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
Petro123, 1. Программа вообще занимается совсем другим делом. Это как доп фича. 2. это понятно 3. сейчас объясню Пользователь может в программе сформировать некий отчёт, данные этого отчета ложатся в модель. Он может выгрузить эти данные в тот же Excel + нужно из этой модели отрисовать данные в наглядном виде пользователю прямо в программу, только на просмотр. В зависимости от отчёт меняется внешний вид этого отображения. Прицепил картинку. Количество колонок и их порядок может меняться, количество строк и их порядок тоже, может просто измениться название строк или колонок. По сути это как шаблон, в который нужно выводить разные данные. Сейчас у меня это сделано, но мне не нравиться как. Хочу сделать некую универсальную рисовалку, которая получает модель с данными + некие правила рисования для конкретной модели, после чего отрисовывает данные. Вопрос в том, как лучше и где хранить инфу о правилах рисования этого наглядного представления(наборы строк, колонок и доп инфа), в программе или же вне: в файлах, в БД или ещё где. Вот спрашиваю и всё больше убеждаюсь что целесообразнее хранить в неких файлах со структурой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 13:36 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
DDiver, Так и не дал ВИ. ВИ №1: - Юзверь нажал кнопку Печать - Получил список умолчательных шаблонов - Выбрал шаблон Шахматка15 - Переделал её на 75 процентов - Сохранил как... её на своём компе с именем МойКлассный шаблон.abc .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 13:53 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
Прошу прощение. ВИ №1 "Показать отчёт за 1 квартал" 1. Пользователь открыл окно настройки параметров отчёта 2. Установил кликалки-жмакалки настроек 3. Нажал кнопку "просмотреть" 4. Рисуем 6 колонок и 10 строк, заполняем данными 5. Показываем результат пользователю ВИ №2 "Показать отчёт за 2 квартал" 1. Пользователь открыл окно настройки параметров отчёта 2. Установил кликалки-жмакалки настроек 3. Нажал кнопку "просмотреть" 4. Рисуем 3 колонки, и 20 строк, заполняем данными. 5. Показываем результат пользователю Набор сочетаний дата-вид заранее определён, пользователем меняться не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 14:16 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
DDiver, чтобы не переписывать, выдели компонент таблица - отдельно. А так, обычное дело: Отчёт = СтатикаКонстанты + БЛ + ПеременныеПользователяНастройки + МатрицаДанных. Хранить Переменную часть можно где угодно. Только хранить в паре с БЛ, т.к. это шахматки. Можно сделать базовый класс для облегчения программисту. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 15:59 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
DDiverПриложение web. Мне интересно как и где правильно(по фэншуйу) хранить эти самые изменяемые данные(название строк, колонок и прочую инфу), думаю что их можно назвать метаданными таблицы. Я сделал хранение каждой клетки формы в одной строке текстового файла. Так можно нарисовать что угодно как в Excel. Например. Все быстро загружается и легко сформировать в программе по мере необходимости например, по произвольной таблице БД, используя комментарии БД как заголовки колонок. Еще для web удобно хранить в формате html. Тогда шаблон формы можно оформлять в Word, возможно, пользователем. Чем заполнять поля можно указывать в комментариях к гиперссылкам или в сносках. И по этому шаблону программа формирует отчет, заполняя поля из БД и повторяя строки. И в нем уже на JS возможны фильтры, сортировки и т.п. подобно Excel и даже редактирование полей, вставка, удаление строк. Например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 18:37 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
programaniaи даже редактирование полей, вставка, удаление строк. Например. прикольно)). Только полная замена веб-контекстного меню под мышкой вряд ли целесобразно IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 19:10 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
programania, а можно кусок этого файла текстового? для примера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 22:12 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
DDiverprogramania, а можно кусок этого файла текстового? для примера. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Описание клеток в строках с 4-числами в начале - это координаты, тип, рамки, выравнивание, шрифт, id и т.п. и в конце - текст клетки также следом, возможно, программа обработки мыши на клетке. В начале параметры экспорта, печати и программа обработки клавишей и событий Больше можно увидеть в плеере mp3 для android Там в 5-и файлах jfm подобным способом описаны все формы плеера. Их можно посмотреть из самого плеера: меню, все файлы, jfm, показать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2014, 10:47 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
imho тогда уже и двоичный формат файла подойдёт...по классике ООП и сериализации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2014, 10:50 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
DDiverPetro123, Хочу сделать некую универсальную рисовалку, которая получает модель с данными + некие правила рисования для конкретной модели, после чего отрисовывает данные. Вопрос в том, как лучше и где хранить инфу о правилах рисования этого наглядного представления(наборы строк, колонок и доп инфа), в программе или же вне: в файлах, в БД или ещё где. Вот спрашиваю и всё больше убеждаюсь что целесообразнее хранить в неких файлах со структурой. А зачем изборетать велосипед? Возьмите Jasper Report. Там есть что вам нужно и немного больше. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2014, 12:35 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
Petro123imho тогда уже и двоичный формат файла подойдёт...по классике ООП и сериализации Тогда файл будет нечитаем, а мне нужно контролировать процесс и видеть результат. И при изменении свойств обьектов клетки, формы все уже сделанные формы перестанут десериализироваться. Petro123 Только полная замена веб-контекстного меню под мышкой вряд ли целесобразно IMHO А как можно сделать не "полную замену веб-контекстного меню"? Конечно для выбора функций для всего документа нетрудно и на JS сделать toolBar или mainMenu. Но как выбрать функцию для указанного элемента документа кроме контекстного меню? mad_nazgul А зачем изборетать велосипед? Возьмите Jasper Report. Велосипед нужно изобретать когда большая часть не нужна, а нужного нет и не будет, а трудоемкость освоения и приспособления к своим нуждам больше чем на велосипед. Но чтобы понять это нужно хотя бы знать как можно сделать велосипед и что он сможет. А вот сможет ли Jasper Report создать html отчет с возможностью фильтрации, сортировки и прочего как в Excel или хотя бы как в моем примере? Или связать клавиши, контектсное меню в отчете с Java программой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2014, 14:29 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
programania, 1. А ты не совмещай отладку и формат сериализации. Для программиста текстовые файлы - это только логи. Для пользователя твой файл....большие сомнения. Версия формата есть и в текстовых и бинарных. 2. У тебя пропало банальное "Скопировать выделенный текст". Это ВЕБ. Там законы другие. Совместить веб и десктоп никому не удалось) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2014, 14:51 |
|
||
|
В каком виде хранить данные для формирования GUI
|
|||
|---|---|---|---|
|
#18+
Petro123Совместить веб и десктоп никому не удалось) Ну почему. Oracle Forms ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2014, 10:18 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38598418&tid=2127415]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 490ms |

| 0 / 0 |
