Форум: "Прочее";
Текущий архив: 2014.11.23;
Скачать: [xml.tar.bz2];
ВнизБыстро и сердито, красиво показать таблицу Найти похожие ветки
← →
ВладОшин © (2014-04-10 09:30) [0]Есть задача красиво выводить таблицу
// (на большие экраны, но это не важно, пусть на форму на весь экран на разных мониторах )
разные экраны, разные таблицы, данные и сами таблицы, в идеале, динамические.
Получаются из запроса к БД. Обновление раз в 5 мин, допустим.
проблема 1.
один манагер свою таблу хочет выводить все строки/столбцы равны, шрифт один. Второй хочет одни строки меньше, другие больше и "поиграть шрифтами"
Первое ,что приходит в бестолковку - html. Форма на весь экрран, браузер на всю форму, шаблон html в БД. В нем разметка аля
tr
td #тут показатель х1# td td #тут показатель х2# td
tr
перед показом все #тут показатель х1# стрингреплейснуть на данные запроса.
итого в БД таблица с 2мя полями html_pattern, sql_text
Читаем шаблон, sql. Выполняем sql, заменяет разметку в шаблоне на одноименные поля, кажем.
из ++ Дешево и быстро.
+ любой дурак в worde нарисует таблицу любой сложности/раскраски. Останется написать запрос и сохранить оба текста
+ не надо пересчитывать как оно там подвинется если это число станет больше, тут шрифт поменяется и т.п. Браузер html подгонит по пропорциям.
и быстро.
А как бы Вы сделали?
← →
junglecat (2014-04-10 09:36) [1]> + любой дурак в worde нарисует таблицу любой сложности/раскраски
это же и минус. Потому что веб-дизайнер из дурака с вордом чуть менее, чем никакой.
Но идею самого хтмл это, конечно же, не отменяет.
Среда - Дельфи?
Я бы посмотрел еще в сторону каких-нибудь pdf и xls шаблонизаторов.
Либо умных гридов типа EhLib или Девок.
← →
antonn © (2014-04-10 09:42) [2]
> А как бы Вы сделали?
html, но через THTMLViewer/ThtmlLite, а не Twebbrowser.
← →
ВладОшин © (2014-04-10 10:05) [3]да, delphi. Шестерка :)
и это не обсуждается. почти :)
Ну если только совсем красиво и быстро к изменениям на чем либо еще сделать.
Еще рассматриваю powerpoint. Но я там к БД не могу обращаться. Надо почитать еще. А так там еще красивее можно сделать.
← →
Dennis I. Komarov © (2014-04-10 10:16) [4]
> Первое ,что приходит в бестолковку - html. Форма на весь
> экрран, браузер на всю форму, шаблон html в БД. В нем разметка
> аля
Выдавай на выходе xml, с сылкой на xsl
Example:<?xml-stylesheet type="text/xsl" href="stylesheet/knd1114307.xsl"?>
Кому что надо, тот то и нарисует
P.S.
До сих пор не понимаю почему народ сие так редко использует.
← →
antonn © (2014-04-10 10:28) [5]
> До сих пор не понимаю почему народ сие так редко использует.
потому что 99% "тот кому надо" хочет готовой визуальщины, а не каких-то промежуточных форматов-шаблонов
← →
Dennis I. Komarov © (2014-04-10 10:34) [6]
> потому что 99% "тот кому надо" хочет готовой визуальщины,
> а не каких-то промежуточных форматов-шаблонов
А что, есть проблема показать в TWebBrowser?
← →
ВладОшин © (2014-04-10 10:41) [7]
> xml, с сылкой на xsl
Загуглил. Подходит. Почитаю.
Спасибо :)
> antonn ©
совсем без делфи.. нежелательно :)
Потом это с вероятностью 90%% будет встроено в основную программу(ы), а там все на делфи (еще даже шестерке) писано
← →
antonn © (2014-04-10 10:49) [8]
> А что, есть проблема показать в TWebBrowser?
какие могут быть проблемы в использовании тяжеловесного контрола завязанного на системные настройки? вот именно - те самые :)
самопал что я выше написал позволяет отображает простой html +css в самодостаточном приложении
← →
Inovet © (2014-04-10 10:51) [9]Генретор репортов совсем не рассматриваешь?
← →
ВладОшин © (2014-04-10 10:54) [10]
> Inovet © (10.04.14 10:51) [9]
>
> Генретор репортов совсем не рассматриваешь?
почему не..
да, кстати.
срок примерно две недели, не спеша можно все "порассмотреть"
времени еще вагон и маленькая тележка :)
← →
Inovet © (2014-04-10 10:57) [11]> [10] ВладОшин © (10.04.14 10:54)
> да, кстати.
В ФР и выгрузка в PDF тот же есть, и в HTML, и ещё много во что с одновременным показом можно.
Кстати, новую версию выпустили, дорогой стал.
← →
ВладОшин © (2014-04-10 11:03) [12]только желательно, что бы программист не занимался дизайном
потому что начнется: "не такое зеленое/ недостаточно крупно"
хотелось бы что б манагер мог сам нарисовать и сказать: вот шаблон, вот тут за последние 15 минут сумма, тут с начала месяца, тут среднее за год
написал запрос, загрузил, профит. Манагеру можно дать право забрать шаблон, поправить, загрузить заново. А манагер, как правило, знает только word|excel
← →
Ega23 © (2014-04-10 11:17) [13]Excel?
← →
ВладОшин © (2014-04-10 11:31) [14]
> Ega23 © (10.04.14 11:17) [13]
>
> Excel?
внедренный на всю форму ole объект?
← →
Ega23 © (2014-04-10 11:36) [15]
> внедренный на всю форму ole объект?
Почему? Просто октрыть Excel.
← →
antonn © (2014-04-10 11:37) [16]
> внедренный на всю форму ole объект?
>
парсинг шаблона, импорт в html и вывод на форму
← →
ВладОшин © (2014-04-10 11:54) [17]
> Просто октрыть Excel.
по краям и сверху бордюры получаются
> парсинг шаблона, импорт в html
вот если так. Сказать делать в экселе, сохранять как html. А html уже парсить/выводить. Но уже трабла.. Текст под углом не идет.
На хабре нашел, как делать, но это только один момент. Когда уже будет все работать можно быстро не найти потом что-нибудь еще
← →
это все ... (2014-04-10 12:00) [18]хотелось бы что б манагер мог сам нарисовать и сказать: вот шаблон, вот тут за последние 15 минут сумма, тут с начала месяца, тут среднее за год
Йоксель.
Причем без всяких подпорок типа делфи.
форматирование оставить на усмотрение жертвы.
данные тянуть макросом или веб-запросом
← →
ВладОшин © (2014-04-10 12:49) [19]
> без всяких подпорок типа делфи.
будет неудобно.
Программа может представиться серверу, получить нужный доступ, быть встроена в текущую консоль управления как + 1 вкладка в tabsheet и т.д.
Потом, неплохо бы сначала сказать сервреру: я экран такой, что мне показывать? Он дает запрос, котоый вытаскивает запрос, который надо выполнять. т.о. все экраны с одного места управляются.
Думаю, макросами плохо это все будет делать
← →
это все ... (2014-04-10 12:56) [20]эксель может сказать серверу ровно столько же сколько ваша делфийская вкладка.
← →
Dennis I. Komarov © (2014-04-10 13:17) [21]экселя может и не быть на машине...
← →
ВладОшин © (2014-04-10 14:50) [22]не, чисто эксель не подойдет.
потом, что бы поправить придется понимать не только логику управляющего delphi - приложения, но и разбираться в vba-макросах.
Эксель встроенный в форму - пока оптимальнее всего.
Ща прикину, время вроде появилось :) По результатам отпишу, поди будете ждать же :)
← →
antonn © (2014-04-10 14:57) [23]
> потом, что бы поправить придется понимать не только логику
> управляющего delphi - приложения, но и разбираться в vba-
> макросах.
видимо основная сложность что ничего кроме дельфи в багаже нет? :)
← →
ВладОшин © (2014-04-10 15:08) [24]
> видимо основная сложность что ничего кроме дельфи в багаже
> нет? :)
>
ну, не без этого :)
а ты что, на работу брать собрался, спрашиваешь? Я к злым не пойду :)
← →
antonn © (2014-04-10 15:45) [25]я не злой, просто вижу упорное желание заюзать дельфи и оговорку про vba :)
мне, кстати, тоже предстоит сделать информационное табло, с инфой из системы типа zabbix, на выбор дельфи, шарп и что нибудь в вебе (асп, пхп). вроде выбор есть, а выбора-то особого и нет :)
← →
ВладОшин © (2014-04-10 15:46) [26]
> выбора-то особого и нет :)
т.е.
> что нибудь в вебе (асп, пхп).
?
← →
antonn © (2014-04-10 15:47) [27]
> т.е.
> > что нибудь в вебе (асп, пхп).
> ?
есть вариант браузер по F11 открывать на весь экран, а там уже яваскрипт, верстка и серверная часть
← →
Dennis I. Komarov © (2014-04-10 16:13) [28]
> есть вариант браузер по F11 открывать на весь экран, а там
> уже яваскрипт, верстка и серверная часть
Да не надо никаких ява и пр...
пишешь сервер, который отдает xml по http с сылкой на xsl на жестком диске. на жесткий диск кладешь кому какой надо шаблон.
немного изучаешь http (Keep-Alive и т.п.)
Готово, любой браузер показывает желаемое.
Это самое простое, если немножко усложнить, то шаблоны можно хранить на сервере и выбирать его параметром в get
← →
antonn © (2014-04-10 16:14) [29]
> Да не надо никаких ява и пр...
это тебе не надо, а мне надо, потому что данные нужно на странице обновлять каждую минуту
← →
Dennis I. Komarov © (2014-04-10 16:16) [30]P.S. если xsl отдает сервер, то клиента мы не привязываем к мелкомягким, хоть дроид на планшете
← →
Dennis I. Komarov © (2014-04-10 16:18) [31]
> это тебе не надо, а мне надо, потому что данные нужно на
> странице обновлять каждую минуту
изучаем http
← →
antonn © (2014-04-10 16:21) [32]
>
> изучаем http
бегу и прыгаю.
зачем так угрюмо телепатировать не зная деталей?
← →
Dennis I. Komarov © (2014-04-10 16:32) [33]
> зачем так угрюмо телепатировать не зная деталей?
так никакой телепатии:
> потому что данные нужно на странице обновлять каждую минуту
это можно без JS, а вот есть ли уверенность, что JS на клиенте не отключен?
Впрочем я предлагаю вариант для задачи Романа (он то ее описал) и некоим образом никому ее не навязываю. ИМХО это самый быстрый и простой вариант: получили GET, запрос к БД, формируем xml, выплюнули в TCP обратно предварительно обернув http
← →
Dennis I. Komarov © (2014-04-10 16:34) [34]
> для задачи Романа
* Влада, чей-то с Kerk-ом перепутал :))
← →
antonn © (2014-04-10 16:42) [35]
> так никакой телепатии:
аякс.
← →
Dennis I. Komarov © (2014-04-10 17:01) [36]
> аякс.
Во-первых это не страница (которую надо обновлять).
Во-вторых, дочитываем [33] до конца ;)
← →
ВладОшин © (2014-04-10 17:16) [37]>> с Kerk-ом перепутал
ну это да :) Рома сильно удивится , что задачи какие-то у него есть тут :)
насчет http.. писал. и на php и на delphi
недавно websocket освоил. WS - все руками, разбор заголовков, ответ и т.п.
все это геморно показалось.
В общем, решил так: Excel как OleObject, который alClient на форме
Текст под углом/ картинка / график - Как видим так показывает.
что проще..
← →
antonn © (2014-04-10 17:18) [38]
> Во-первых это не страница (которую надо обновлять).
> Во-вторых, дочитываем [33] до конца ;)
во-первых я не говорил за страницу, во-вторых это был ко мне вопрос для чего [b]мне[/b] понадобился вариант "серверного языка" с [25].
автору, возможно, тоже было бы подходящим вариантом, но тогда из дельфи тут будет лишь вебсервер, но с версткой придется тоже разобраться. в этом случае конечный пользователь так же независим от платформы (да и от установки софта, если используется браузер), только в отличии от XSL он получит готовую "картинку", а не ведро данных которые кому-то еще придется визуализировать.
← →
Dennis I. Komarov © (2014-04-10 17:44) [39]
> В общем, решил так: Excel как OleObject, который alClient
> на форме
> Текст под углом/ картинка / график - Как видим так показывает.
>
> что проще..
Ну, хозяин-барин, но тут ты как минимум к установленному ёкселю привязываешься, да и с различными версиями можешь получить глюксы (хотя не факт)
← →
Dennis I. Komarov © (2014-04-10 17:47) [40]
> только в отличии от XSL он получит готовую "картинку", а
> не ведро данных которые кому-то еще придется визуализировать.
>
это сделает сам браузер, если xsl-ка будет доступна. Если ее будет отдавать сервер, то не вижу проблем...
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2014.11.23;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.003 c