Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: Вопросы новичка  (Read 151517 times)

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Re: Вопросы новичка
« Reply #120 on: May 23, 2018, 03:00:25 pm »
bool QTranslator::load() последовательно перебирает возможные названия локалей и если не нашел limereport_ru_RU.qm загузит limereport_ru.qm.

в исходном main.cpp
Code: [Select]
limeReportTranslator.load("limereport_"+QLocale::system().name(),translationPath);
а не
Code: [Select]
limeReportTranslator.load("limereport_ru"+QLocale::system().name(),translationPath);

Subst

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
Re: Вопросы новичка
« Reply #121 on: May 23, 2018, 04:02:54 pm »

запрос имени системной локали возвращает "ru_RU". В результате и получается неверное имя файла.
[/quote]

To amkru: Название файла локализации - это вобщем-то ваша зона желаний и ответсвенности, есть общие правила, довольно относительные. Это в первую очередь - файл заканчивается названием локали, а начинается именем проекта, в остальном Ваша фантазия. Так что прописывайте как угодно, хоть явно файл укажите.

alfaruh

  • Newbie
  • *
  • Posts: 40
    • View Profile
Re: Вопросы новичка
« Reply #122 on: May 24, 2018, 06:26:11 pm »
И снова здравствуйте! ;)

Набежали такие вопросы:

1) Что это за язык (если можно так назвать)? Хочется понять, что с ним можно делать и как. (Приложен скрин)
2) Могу ли я вывести значение только одной строки? ???
3) Могу ли я получить значения из связной таблицы (через внешний ключ).

Спасибо

Subst

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
Re: Вопросы новичка
« Reply #123 on: May 24, 2018, 06:47:55 pm »
1) Язык - изобретение Алекса по большей части. Что он брал за отправную точку - спросим у него :D Вообще, в LR используется скриптовый язык, основанный на Ecma-262. JavaScript еже с ним тоже на этом стандарте основаны. Кое-что есть в Assiatant по теме QScriptEngine

2) Создай dataSource c ограничением типа select * from Table where id=42, и будет столько строк сколько попадут под where

3) смотри доку по LR, она не богата по содержанию, всего не раскрывает, старая уже. Но ЭТОТ моент там хорошо показан. Раздел "Создание наборов данных в отчете"

alfaruh

  • Newbie
  • *
  • Posts: 40
    • View Profile
Re: Вопросы новичка
« Reply #124 on: May 24, 2018, 06:51:49 pm »
Спасибо за быстрый ответ!
Продолжаю изучать ;)

Subst

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
Re: Вопросы новичка
« Reply #125 on: May 24, 2018, 07:10:01 pm »
по 3) смотри также demo_r1/demo_reports/categories.lrxml

Vermilion

  • Newbie
  • *
  • Posts: 34
    • View Profile
Re: Вопросы новичка
« Reply #126 on: July 06, 2018, 04:20:33 pm »
Доброго времени суток!

Подскажите пожалуйста, как в бэнде с данными менять выравнивание по горизонтали (left, right, center ...) текста в поле по некоторому условию (условное форматирование)?

Заранее спасибо!

Subst

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
Re: Вопросы новичка
« Reply #127 on: July 06, 2018, 09:38:10 pm »
To Vernilion:

Приветствую!

С помощью скрипта в текстовом итеме.
Примерно, так (содержимое textItem)

$S{
 if (1>0)
  THIS.alignment=2; // Qt::AlignRight
 else
  THIS.alignment=1; // Qt::AlignLeft
 "klop";
 }

Vermilion

  • Newbie
  • *
  • Posts: 34
    • View Profile
Re: Вопросы новичка
« Reply #128 on: July 07, 2018, 08:21:37 am »
Спасибо огромное за подсказку!  :D

Есть ли где то описание всех методов и свойств объекта THIS?
Чтобы не засорять нубскими вопросами форум, есть ли где то описание всех фичей репортера и скриптового языка?

Subst

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
Re: Вопросы новичка
« Reply #129 on: July 07, 2018, 06:04:23 pm »
Есть.. у Алекса и в исходниках :)
А если более серьезно, смотри, свойства итема в дизайнере. По сути эти свойства и можно применять в THIS

Например смотрю есть autoHeight... отлично, пишу в скрипте THIS.autoHeight=true

Если пороешь исходники textItem'а, то увидишь, что именно они и интерпритируются применительно к THIS

Vermilion

  • Newbie
  • *
  • Posts: 34
    • View Profile
Re: Вопросы новичка
« Reply #130 on: July 07, 2018, 07:42:14 pm »
Хорошо, будем копать!
Репортер очень радует своими возможностями, еще чуть чуть и будет по наворотам как FastReport, можно будет все самые бредовые отчеты, которыми у нас любит жить всякая отчетность, генерить.  :D

Subst

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
Re: Вопросы новичка
« Reply #131 on: July 08, 2018, 07:23:55 am »
Да куда уж больше возможностей...
с помощью скриптов и html можно, наверное, все сделать

Vermilion

  • Newbie
  • *
  • Posts: 34
    • View Profile
Re: Вопросы новичка
« Reply #132 on: July 08, 2018, 02:38:29 pm »
Приветствую!

Еще есть пара вопросиков:
 - как заставить pagefooter отображаться только на последней странице?
 - можно ли управлять видимостью band-ов из скриптов?

Спасибо.
« Last Edit: July 08, 2018, 02:40:48 pm by Vermilion »

Subst

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
Re: Вопросы новичка
« Reply #133 on: July 08, 2018, 03:13:38 pm »
Хай!
1. А смысл отображать Page Footer только на последней странице (как следует из его названия, он отображается на всех страницах, включая или исключая последнюю и первую взаисимости от значений соответсвующих свойств) ? У тебя есть Report Footer.
   Но если очень хочется см. п.2

2. Если тебе нужно из срипта управлять видимостью Band'а - я обычно пользую такое решение: ставишь autoHeight у Band'а и textItem'ов внутри Band'a. Сриптом (ами) регулирешь содержимое textItem'а (ов). При пустом содержимом ни item ни band виден не будет.

Это как вариант. Возможны и другие, как фантазии хватит.

Vermilion

  • Newbie
  • *
  • Posts: 34
    • View Profile
Re: Вопросы новичка
« Reply #134 on: July 08, 2018, 10:30:56 pm »
Да п.2 нормальное решение, в скриптах смотреть на несовпадение текущего номера страницы и общего количества страниц.. Попробую, спасибо.
А по п1. ну вот такой отчет нужен, чтобы на последней странице внизу были данные, не зависимо от заполненности данными этой последней страницы. Понятное дело, что отчет может быть всего 1 страница - для него тоже это правило распространяется. А ReportFooter прижимается к последним данным на странице.. если бы его можно было принудительно отправить вниз страницы, тогда да..

Еще раз спасибо за совет.