почему не регулируется ширина ячеек в cross отчете?
autosize = false
это только у меня так?
спасибо
Ширина ячеек в кросстабе вручную (в дизайнере) не регулируется.
При AutoSize = true ширина ячеек подбирается автоматически, опираясь на значения данных и на содержание заголовка колонки. Но. Делается это перед отрисовкой ячейки. Допустим, есть у тебя ячейка, значение в которую ты добавляешь самостоятельно, из какого-то обработчика события. Так вот когда этот обработчик срабатывает, ширина ячейки уже вычислена, исходя из её содержимого. Если изначально в ячейке будет пустая строка (и в заголовке тоже), то и ширина её будет соответственно маленькая. И что бы ты туда не записал, её ширина уже не изменится.
Один из выходов - сделать заголовок колонки соответствующей ширины, чтобы туда уже наверняка всё влезло, если , конечно, это допустимо в рамках твоей задачи. Кроме того, кросстаб имеет события OnCalcWidth и OnCalcHeight, как раз позволяющие задавать ширину и высоту ячеек. Я, правда, с ними не игрался и не знаю всех нюансов их работы, так что поэкспериментируй сам.
спасибо
вот и читай после этого мануалы (UserManual-ru)
Наконец, третий способ - установить самому нужные размеры ячеек. Для этого нужно отключить свойство "Авто-размер" в редакторе объекта (или Autosize в инспекторе). Теперь размер всех элементов таблицы можно менять в ручную. Сделать это очень просто - при наведении мыши на элементы таблицы указатель мыши меняет форму , предлагая изменить ширину или высоту (и он действительно меняет форму , но размеры не изменяются)
короче все работает и меняется
просто у меня не было RowHeader
и поэтому не менялась ширина в дизайнере
поставил rowheader, поменял ширину и потом убрал RowHeader
ширина осталась
пардон
Комментарии
Ширина ячеек в кросстабе вручную (в дизайнере) не регулируется.
При AutoSize = true ширина ячеек подбирается автоматически, опираясь на значения данных и на содержание заголовка колонки. Но. Делается это перед отрисовкой ячейки. Допустим, есть у тебя ячейка, значение в которую ты добавляешь самостоятельно, из какого-то обработчика события. Так вот когда этот обработчик срабатывает, ширина ячейки уже вычислена, исходя из её содержимого. Если изначально в ячейке будет пустая строка (и в заголовке тоже), то и ширина её будет соответственно маленькая. И что бы ты туда не записал, её ширина уже не изменится.
Один из выходов - сделать заголовок колонки соответствующей ширины, чтобы туда уже наверняка всё влезло, если , конечно, это допустимо в рамках твоей задачи. Кроме того, кросстаб имеет события OnCalcWidth и OnCalcHeight, как раз позволяющие задавать ширину и высоту ячеек. Я, правда, с ними не игрался и не знаю всех нюансов их работы, так что поэкспериментируй сам.
вот и читай после этого мануалы (UserManual-ru)
Наконец, третий способ - установить самому нужные размеры ячеек. Для этого нужно отключить свойство "Авто-размер" в редакторе объекта (или Autosize в инспекторе). Теперь размер всех элементов таблицы можно менять в ручную. Сделать это очень просто - при наведении мыши на элементы таблицы указатель мыши меняет форму , предлагая изменить ширину или высоту (и он действительно меняет форму , но размеры не изменяются)
спасибо
просто у меня не было RowHeader
и поэтому не менялась ширина в дизайнере
поставил rowheader, поменял ширину и потом убрал RowHeader
ширина осталась
пардон