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

Author Topic: Hide items with condition  (Read 2067 times)

postlife

  • Newbie
  • *
  • Posts: 5
    • View Profile
Hide items with condition
« on: January 15, 2020, 11:51:44 AM »
Привет, видел у вас пост по скрытию ячейки, но не могу сделать как надо.
Необходимо вывести значение, если оно не равно нулю, иначе ничего не выводить.
Пожалуйста подскажите как это сделать

$S{
var testval = $D{d_autumn.exam}
if (testval === "0")
   THIS.isVisible = false
}

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Hide items with condition
« Reply #1 on: January 15, 2020, 06:52:15 PM »
Приветсвую!
Первое:
А у вас $D{d_autumn.exam} точно строковое?
можно использовать == чтоб не парится по поводу типов.
Второе:
Скрипт должет вернуть значение в противном случае вы получите надпись undefined вместо значения.
Скрит можно периписать как-нибудь так:
Code: [Select]
$S{
if ($D{d_autumn.exam} == "0")
   THIS.isVisible = false
$D{d_autumn.exam}
}



postlife

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: Hide items with condition
« Reply #2 on: January 16, 2020, 02:33:46 AM »
1. Числовое (ну как я понял тут сравнения с js)
2. По скрипту получаю "SyntaxError: Parse error"
3. Также не могли бы вы подсказать свойство, чтобы от значения параметра я выставлял align top или align buttom

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Hide items with condition
« Reply #3 on: January 16, 2020, 12:46:46 PM »
Quote
По скрипту получаю "SyntaxError: Parse error"

Вопросительный знак в красном круге появляется рядом с кнопкой закрытия?
Если да то можно на него ткнуть и посмотреть ошибки, скорее всего $D{d_autumn.exam} не найден

Quote
Также не могли бы вы подсказать свойство, чтобы от значения параметра я выставлял align top или align buttom
Code: [Select]
$S{
AlignTop = 0x0020
AlignBottom = 0x0040
if ($D{test.value} == "1")
   THIS.alignment = AlignTop
else
   THIS.alignment = AlignBottom
$D{test.value}
}

postlife

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: Hide items with condition
« Reply #4 on: January 16, 2020, 01:19:06 PM »
Правда не знаю почему, но не работает))
AlignTop выбирал в дизайнере, скриптом на бот, где надо не меняет, ну и нули не скрывает
Ошибок нет

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Hide items with condition
« Reply #5 on: January 16, 2020, 01:59:27 PM »
Вот пример отчета где все работает :)

postlife

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: Hide items with condition
« Reply #6 on: January 16, 2020, 02:17:00 PM »
Может дело в версии :-\? Пользуюсь 1.4.7 

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Hide items with condition
« Reply #7 on: January 16, 2020, 02:58:21 PM »
Если честно, я посоветовал бы использовать версию 1.5
Но если есть желание остаться на 1.4 то обновиться до крайней её версии 1.4.136
Вот пример для 1.4. В отчете есть есть переменная Test можно менять её значения с 0 до 2 и смотреть результат

postlife

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: Hide items with condition
« Reply #8 on: January 17, 2020, 02:21:28 PM »
Не знаю в чем причина, но скрипты правильно не отображаются в дизайнере, но при вызове через программу, все срабатывает)
Спасибо большое за помощь)

Дополнительный вопрос) где можно взять коды переменных на примере AlignTop = 0x0020 и AlignBottom = 0x0040? Например для горизонтального выравнивания, бордера и прочего.
Еще раз спасибо за помощь

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Hide items with condition
« Reply #9 on: January 17, 2020, 05:58:55 PM »
Quote
Дополнительный вопрос) где можно взять коды переменных на примере AlignTop = 0x0020 и AlignBottom = 0x0040? Например для горизонтального выравнивания, бордера и прочего.
В исходниках :) Находите определение нужного свойства, смотрите какого оно типа и затем находите определение этого типа.
Например alignment это Qt::Alignment