Как я создаю отчет HTML без жесткого кодирования HTML?

Я думаю, что это трудно (если не невозможно) достичь.

Если вы думаете о SQL-запросе в традиционном смысле, он не знает, сколько существует наборов данных и сколько времени это займет. Я не знаю ни одного инструмента SQL (например, DB Visualizer, DataGrip и т. Д.), Который показывает индикатор выполнения и правильную оценку того, сколько времени это займет, потому что он всегда будет зависеть от объема данных в таблице.

Должен быть способ измерения, когда данные загружены на 25% / 50% / 75% / .... И единственное, что может занять много времени в вашем коде, это вызов entityManager.createQuery(...).

Другое решение

Я бы предложил удалить индикатор выполнения и добавить что-то вроде счетчика, чтобы показать, что идет загрузка данных. У JFoenix есть приятный дизайнерский прядильщик материала.

Вы также можете добавить простой текст «загрузка данных ...».

Редактировать (чтобы сделать его более заметным): Как правильно подсказал @Slaw, вам также нужно поместить ваш вызов entityManager.createQuery(...) в новый поток. В противном случае поток пользовательского интерфейса может зависнуть, когда запрос занимает больше времени.

7
задан mezoid 29 March 2009 в 23:50
поделиться

6 ответов

Сделайте свое приложение для создания XML-файла с необработанными данными. Затем примените внешний XSLT к нему, который содержал бы HTML.

Подробнее: http://msdn.microsoft.com/en-us/library/14689742.aspx

10
ответ дан 6 December 2019 в 09:22
поделиться

Вы могли использовать движок шаблонов как NVelocity для разделения представления отчета и кода. Там существуют, вероятно, другие достойные движки шаблонов...

4
ответ дан 6 December 2019 в 09:22
поделиться

meziod - Другая авеню для просматривания является дополнительными методами к объекту HtmlTextWriter. Я нашел блестящий удар в просто этом на этом самом сайте.

Расширение HtmlTextWriter

Я уверен, что Вы могли усилить большой потенциал от этого...

отношения - coola

3
ответ дан 6 December 2019 в 09:22
поделиться

Ну, Вы могли использовать одну из платформ отчета (Кристалл, MS RDL, и т.д.) и экспортировать как HTML - однако, я подозреваю, что для простых данных Ваш текущий подход - меньше служебное. Я мог бы использовать XmlWriter или LINQ-to-XML (а не string.Format, который не обработает выход)...

        new XElement("tr",
            new XElement("td", item.StartDate),
            new XElement("td", item.Id),
            new XElement("td", item.WorkItemId),

и т.д. Выход особенно важен для текстовых значений (имя, описание, и т.д.).

2
ответ дан 6 December 2019 в 09:22
поделиться

Microsoft SQL Reporting Services делает это вполне хорошо и может сделать несколько форматов.

Моя компания использует его для создания отчетов PDF и так как у нас есть требования HIPAA, мы автоматически помещаем пароль в него через третье лицо управление PDF...

0
ответ дан 6 December 2019 в 09:22
поделиться

Вы могли бы рассмотреть использование простого движка шаблонов, такого как http://www.stefansarstedt.com/templatemaschine.html и разделить Ваш шаблон от содержания.

Это довольно практично, позволяет шаблонную модификацию, не перекомпилировав, и Вы все еще получили питание C# в своих шаблонах.

1
ответ дан 6 December 2019 в 09:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: