|
Изменение ширины колонки не всегда работает | ☑ | ||
---|---|---|---|---|
0
supervk
04.12.12
✎
13:10
|
Пытаюсь задать ширину колонки с помощью ТекущаяОбласть.ШиринаКолонки
Работает (ширина меняется), если делаю вот так: ТабДокумент = Новый ТабличныйДокумент; ОбластьИзображение = Макет.ПолучитьОбласть("Итого|КолонкаДляШирины"); ОбластьИзображение.ТекущаяОбласть.ШиринаКолонки = 200; ТабДокумент.Присоединить(ОбластьИзображение); А если перед этим пытаюсь вывести ещё какие-нибудь колонки, то ширина остаётся такой, какая она была в макете. Т.е. не работает (ширина не меняется), если делаю вот так: ТабДокумент = Новый ТабличныйДокумент; ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки"); ТабДокумент.Вывести(ОбластьНомера); ОбластьИзображение = Макет.ПолучитьОбласть("Итого|КолонкаДляШирины"); ОбластьИзображение.ТекущаяОбласть.ШиринаКолонки = 200; ТабДокумент.Присоединить(ОбластьИзображение); Что я делаю не так? Как сделать, чтобы и во втором случае ширина колонки менялась? |
|||
1
kosts
04.12.12
✎
13:11
|
(0) Изменить ширину непосредственно в ТабДокумент
|
|||
2
supervk
04.12.12
✎
13:19
|
(1) Это упрощённый пример, в оригинале программно добавляются колонки разной ширины, поэтому желательно менять их через изменение колонки в области. Это же должно работать?
|
|||
3
kosts
04.12.12
✎
13:27
|
Задавай ширины не в конце когда итог выводишь, а в начале, когда шапку выводишь.
|
|||
4
kosts
04.12.12
✎
13:28
|
И тут проверь что это за текущая область ОбластьИзображение.ТекущаяОбласть
попробуй использовать ОбластьИзображение.Область(<адрес>) |
|||
5
supervk
04.12.12
✎
13:31
|
Помогла очистка области изображения перед установкой ширины:
ОбластьИзображение.Очистить(); Т.е. вот так работает: ТабДокумент = Новый ТабличныйДокумент; ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки"); ТабДокумент.Вывести(ОбластьНомера); ОбластьИзображение = Макет.ПолучитьОбласть("Итого|КолонкаДляШирины"); ОбластьИзображение.Очистить(); ОбластьИзображение.ТекущаяОбласть.ШиринаКолонки = 200; ТабДокумент.Присоединить(ОбластьИзображение); :-\ |
|||
6
kosts
04.12.12
✎
13:36
|
(5)
ТабличныйДокумент (SpreadsheetDocument) ТекущаяОбласть (CurrentArea) Описание: Тип: ОбластьЯчеекТабличногоДокумента. Содержит текущую активную область Неправильно используешь ТекущаяОбласть, но видимо костыль помог. |
|||
7
supervk
05.12.12
✎
04:52
|
Сделал
ОбластьКолонкаИзображение = Макет.Область("КолонкаДляШирины"); ОбластьКолонкаИзображение.ШиринаКолонки = 200; Так, наверное, правильно. И работает без очистки области. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |