Как рассчитываются высоты строк в табличном шаблоне SSRS? - PullRequest
9 голосов
/ 30 июля 2010

Мне интересно, как вычисляются высоты строк в табличном файле SSRS.

Например, у меня есть данные, для которых отображаемые и сгруппированные по столбцам достаточно близки, чтобы быть идентичными. Однако некоторые строки по неизвестной причине будут иметь огромную высоту с большим количеством пустого пространства. Если вы посмотрите вывод HTML, то увидите, что к этим строкам применены rowspan и height.

Это не проблема переноса, поскольку я могу сделать IIf для идентификатора элемента этой строки и просто отобразить "a" вместо фактических значений, а все равно получить ненормальную высоту. Я также отключил CanGrow для всех текстовых полей / строк и т. Д. И установил ручную высоту, но проблема не устранена.

Что вызывает такое поведение и как обычно рассчитываются высоты строк?

Ответы [ 6 ]

6 голосов
/ 07 августа 2010

Есть несколько вариантов того, что происходит:

  1. В SQL Server 2008 (полностью исправленный) есть ошибка, заключающаяся в том, что иногда для некоторых типов данных можно добавить заполнение. Взгляните на эту страницу для более подробной информации. Ссылка не охватывает именно вашу проблему, но специалист службы поддержки Microsoft утверждает, что это ошибка, и, скорее всего, она распространяется и на вашу проблему. Предположительно, обновление до SQL Server 2008 R2 решает проблему.
  2. Предполагая, что вы не собираетесь обновлять SQL Server, вам нужно проверить несколько вещей:
    • Убедитесь, что высота строки не установлена ​​на высоту, меньшую, чем по умолчанию. оставьте высоту как минимум такой же, как по умолчанию.
    • Настройка параметров заполнения так, чтобы верхний и нижний отступы были установлены на ноль (как уже упоминалось) на Padding: 2,2, 0, 0
    • Взгляните на на этой странице для более подробного описания . Этой статье несколько лет, но информация, вероятно, все еще применима.
4 голосов
/ 07 августа 2010

Попробуйте установить следующие свойства для своих строк и посмотрите, поможет ли это.

  • Заполнение: 2pt, 2pt, 0pt, 0pt
  • VerticalAlign: Средний
  • CanGrow: False
  • CanShrink: False
1 голос
/ 07 июля 2017

ПОЛУЧИЛИ ОГРОМНЫЕ проблемы с отображением / скрытием строк и CanShrink / CanGrow не работают, поэтому я обнаружил, что существует выражение "Row visibillity", которое показывает / скрывает всю строку в зависимости от значения Textbox.

(щелкните правой кнопкой мыши по tablixrow и выберите «Видимость строки») Show/Hide row visibility

Приветствия

1 голос
/ 05 июня 2014

Это сложно.Пока все ответы верны, но в них не упоминается одна вещь, которая может заставить разработчика предположить, что высота строки не может быть изменена.Напомним ...

  • Выделите строку таблицы, на которую хотите изменить высоту.
  • Измените свойства строки CanGrow = False, CanShrink = True
  • ИзмененияПод отступом понимается пространство над (сверху) и снизу (снизу) значениями вашей ячейки внутри ячейки.
  • Вот новая вещь: если ваш tablix находится рядом с другим элементом управления, он будет привязан к элементам управления, а не к высоте.Позволяет уменьшить строку со стрелкой вверх / вниз.Таким образом, вам нужно перетащить весь tablix в какое-то открытое пустое пространство без других элементов управления рядом с ним.Тогда высота строки не зафиксируется, и вы можете разместить ее именно там, где вам нужно, и она останется на месте.Затем вы осторожно перемещаете Tablix обратно в его постоянное местоположение.

Именно эта блокировка для соседних элементов управления заставляет разработчиков прийти к выводу, что высота не может быть отрегулирована.

1 голос
/ 04 августа 2010

Одна вещь, чтобы проверить это тип данных. К более старым типам данных добавлены отступы. Более новый (varchar, nvarchar и т. Д.) Будет лучше, если это то, что происходит.

0 голосов
/ 13 октября 2015

Я нашел еще одну вещь для рассмотрения. Когда вы выбираете длинное поле, по которому хотите группировать, а затем уменьшаете горизонтальный размер, поле будет отображаться вертикально. Если длина поля выходит за пределы размера, установленного для общей вертикальной длины группы, последняя строка будет увеличена для компенсации. Левая сторона изображения показывает дополнительное пространство для последней строки. После того, как я настроил длину поля меньше общей высоты группы, последняя строка выглядит как обычно. длина строк изображения

...