Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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-ка будет доступна. Если ее будет отдавать сервер, то не вижу проблем...


 
имя   (2014-04-10 20:12) [41]

Удалено модератором


 
имя   (2014-04-10 20:15) [42]

Удалено модератором


 
Inovet ©   (2014-04-10 20:22) [43]

> [12] ВладОшин ©   (10.04.14 11:03)
> только желательно, что бы программист не занимался дизайном
> потому что начнется: "не такое зеленое/ недостаточно крупно"
> хотелось бы что б манагер мог сам нарисовать

Тогда и не стоит репорт ради единственного, хоть и развесито-разнообразного экрана.


 
имя   (2014-04-11 09:03) [44]

Удалено модератором


 
имя   (2014-04-11 09:09) [45]

Удалено модератором


 
имя   (2014-04-11 09:20) [46]

Удалено модератором


 
имя   (2014-04-11 09:33) [47]

Удалено модератором


 
petr   (2014-04-11 11:21) [48]

cxGrid и сохранение настроек (которых чуть более чем много для любого манагера) в файл, реестр, в базу, на мобильник, на луну


 
это все ...   (2014-04-11 11:56) [49]

пять строк в фар-едиторе на повершелле 2.0
и АутГридВью результата в конце


 
sniknik ©   (2014-04-11 13:57) [50]

> А как бы Вы сделали?
> только желательно, что бы программист не занимался дизайном
сервлет (встроенный в программу вебсервер) на дельфи генерирующий страницу с таблицей, в самом примитивном, без стилей виде. + плагин типа Stylish на клиенте кому "нужно красиво", пусть настраивают (если нужно общее, можно к ним на сервер общий клиентский css выложить).


 
ВладОшин ©   (2014-04-15 16:19) [51]

н-да.. был не прав.. OleContainer не достаточно..

 Надо два OleContainer! :))

В общем,
на одном строится, другой показывается, потом переключение
Все - тексты под углом, цвета, картинки, диаграммы, графики  - все меняется рилтайм, никаких подергиваний. Редактирование шаблона на лету.

ну-ка, кто изобразит все это в
> пять строк в фар-едиторе на повершелле 2.0


?


 
имя   (2014-04-15 16:29) [52]

Удалено модератором



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2014.11.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.003 c
2-1378879113
Леван
2013-09-11 09:58
2014.11.23
TDBCtrlGrid - как создавать динамически?


6-1273881792
Zoom
2010-05-15 04:03
2014.11.23
IdTCPClient Indy10.2.3


15-1397418465
Jeer
2014-04-13 23:47
2014.11.23
И все же - жизнь продолжается..


2-1384811925
Леонид
2013-11-19 01:58
2014.11.23
Как сделать файл "только для чтения"


6-1243320496
Strike
2009-05-26 10:48
2014.11.23
Delphi. Вещание видео в сеть





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский