Переключатели в Отчете о SSRS

Да, вы действительно можете создавать функции, которые действуют как таймер: он возвращает обещание, которое разрешается, когда время истекает, что-то вроде этого:

timer = (duration) => {
  return new Promise(resolve => {
    window.setTimeout(resolve, duration);
  });
}

Аналогично, вы можете сделать то же самое для requestAnimationFrame. Хитрость заключается в том, чтобы использовать оператор распространения ES6, чтобы вы могли передавать произвольное количество аргументов в вызываемый обратный вызов:

animationFrame = (callback, ...args) => {
  return new Promise(resolve => {
    window.requestAnimationFrame(time => {
      callback(time, ...args);
    });
  })
}

Поскольку вы используете ES6, вы можете использовать функции async для ожидания таймер для завершения, прежде чем перейти к выполнению следующей строки кода. Если мы сломаем ваш код animationManager(), это можно увидеть следующим образом:

  1. Вы хотите начать с typingEffect
  2. Как только typingEffect будет завершено, вы захотите триггер deleteEffect

В этом случае мы можем реорганизовать ваш код следующим образом:

animationManager = () => {
  const deleteFunc = (time, typingData) => {
    this.deleteEffect(time, async () => {
      await this.timer(this.props.pauseBeforeRestarting);
      this.index = this.index === typingData.length - 1 ? 0 : this.index + 1;
      this.animationManager();
    });
  };

  const typeFunc = (time) => {
    const typingData = this.props.data;
    this.typeEffect(time, typingData[this.index], async () => {
      await this.timer(this.props.pauseBeforeDeleting);
      await this.animationFrame(deleteFunc, typingData);
    })
  };

  this.animationFrame(typeFunc);
};

Я разобрал ваш пример, чтобы предоставить подтверждение концепции переработанный код: https://codesandbox.io/s/308kxjzwrq

5
задан PhiLho 21 November 2008 в 14:33
поделиться

6 ответов

Если Вы обращаетесь к веб-интерфейсу Reporting Services, Вы не можете. Выбираемые списки значения появляются как выпадающие списки. Можно настроить к способности выбрать несколько значений, которые представляются как выпадающий список флажков.

5
ответ дан 18 December 2019 в 06:23
поделиться

Мое предположение - то, что у них нет их - по крайней мере, они не документируются в справку BOL. Это эквивалентно в функции списку, где можно только выбрать один объект.

2
ответ дан 18 December 2019 в 06:23
поделиться

Мои подозрения подтверждены:

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2414397&SiteID=1

Эти форумы MSDN являются хорошим ресурсом. Большинство вопросов уже задали ;)

2
ответ дан 18 December 2019 в 06:23
поделиться

Не верный, у меня на самом деле есть проблема с 2 отчетами с помощью того же параметра, но отображая его по-другому. Параметр является булевской переменной, и в одном отчете это представляет как выпадающий список, и в другом это представляет как список переключателя. Поэтому оба возможны, вопрос состоит в том, почему тот же код представляет по-другому согласно двум различным отчетам? Булевская переменная, Верная верный, Расширяется/Сворачивает Все: Ложь Разворачивает Весь Истинный Коллапс Все

1
ответ дан 18 December 2019 в 06:23
поделиться

Это можно сделать, но только для логического параметра - т.е. вы можете иметь только True / False, а не настраиваемый список параметров радио.

Добавьте параметр в свой отчет типа "Логическое". «Доступные значения» должны быть установлены как «Не запрашиваемые», но не забудьте оставить сетку значений полностью пустой.

В разделе «Значения по умолчанию» снова выберите «Не запрашивается, но в поле типа выражения» Истина »или« Ложь »(т.е. в зависимости от желаемого значения по умолчанию).

Параметр теперь должен отображаться как переключатель - с опцией« Истина / Ложь ».

Обратите внимание, что это все с Дизайнером отчетов в BIDS - я не пробовал использовать приложение Report Builder для однократного нажатия.

8
ответ дан 18 December 2019 в 06:23
поделиться

Сначала передайте параметру значение bool, а затем используйте это поле параметра вместо m_dhkDentalStatusGood в следующем выражении:

=iif( Fields!m_chkDentalStatusGood.Value , Chr(158), Chr(153))

И измените шрифт для этого texbox на "Wingdings 2".

ПРИМЕЧАНИЕ: Это также должно появиться при экспорте отчета в формат PDF.

5
ответ дан 18 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

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