|
0
ЯЧайник
23.05.16
✎
10:30
|
Не получается установить ширину колонок (колонки остаются широкими)
В реквизитах формы имеется таблица значений ТЗ(без колонок). Программно создаю таблицу значений ТЗНов, добавляю колонки:
ТЗНов = Новый ТаблицаЗначений;
ТЗНов.Колонки.Добавить("НомерСтроки",,"№");
ТЗНов.Колонки.Добавить("Номенклатура",,"Номенклатура");
ТЗНов.Колонки.Добавить("НО",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,3)),"НО");
ТЗНов.Колонки.Добавить("СвобОст",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,3)),"СвобОст");
ТЗНов.Колонки.Добавить("Производство",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,3)),"Производство");
Далее добавляются колонки с заказами (т.е. их динамическое количество).
Затем колонка
ТЗНов.Колонки.Добавить("КО",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,3)),"Конечный остаток");
Далее создаю реквизиты формы
МассивРеквизитов.Очистить();
МассивРеквизитов1.Очистить();
Для Каждого Колонка ИЗ ТЗНов.Колонки Цикл
МассивТипов = Новый Массив;
МассивТипов.Добавить(Колонка.ТипЗначения);
НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(МассивТипов), "ТЗ",Колонка.Заголовок);
МассивРеквизитов.Добавить(НоваяКолонка);
МассивРеквизитов1.Добавить(НоваяКолонка1);
КонецЦикла;
ИзменитьРеквизиты(МассивРеквизитов);
ИзменитьРеквизиты(МассивРеквизитов1);
Далее создаю элементы на форме
//Создаем элементы на форме для отображения колонок
ЭлементТЗ = Элементы.ТЗ;
Элементы.ТЗ.АвтоМаксимальнаяШирина=Ложь;
Элементы.ТЗ.МаксимальнаяШирина = 300;
Элементы.ТЗ.Ширина = 300;
Для Каждого Колонка ИЗ ТЗНов.Колонки Цикл
НовыйЭлементФормы = Элементы.Вставить("ТЗ"+Колонка.Имя, Тип("ПолеФормы"), ЭлементТЗ);
НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлементФормы.ПутьКДанным = "ТЗ." + Колонка.Имя;
НовыйЭлементФормы.Заголовок = Колонка.Заголовок;
Если Колонка.Заголовок = "НомерСтроки" Тогда
НовыйЭлементФормы.Ширина = 1;
НовыйЭлементФормы.РастягиватьПоГоризонтали = Ложь; НовыйЭлементФормы.АвтоМаксимальнаяШирина=Ложь;
НовыйЭлементФормы.МаксимальнаяШирина = 1;
ИначеЕсли Колонка.Заголовок = "Номенклатура" Тогда
НовыйЭлементФормы.Ширина = 30;
НовыйЭлементФормы.РастягиватьПоГоризонтали = Ложь; НовыйЭлементФормы.АвтоМаксимальнаяШирина=Ложь;
НовыйЭлементФормы.МаксимальнаяШирина = 30;
ИначеЕсли Найти(Колонка.Имя,"ЗКЗ")>0 Тогда
НовыйЭлементФормы.Ширина = 7;
НовыйЭлементФормы.РастягиватьПоГоризонтали = Ложь; НовыйЭлементФормы.АвтоМаксимальнаяШирина=Ложь;
НовыйЭлементФормы.МаксимальнаяШирина = 7;
Иначе
Если Колонка.Имя<>"КО" Тогда
НовыйЭлементФормы.Ширина = 10; НовыйЭлементФормы.РастягиватьПоГоризонтали = Ложь; НовыйЭлементФормы.АвтоМаксимальнаяШирина=Ложь; НовыйЭлементФормы.МаксимальнаяШирина = 10;
Иначе
НовыйЭлементФормы.Ширина = 50; НовыйЭлементФормы.РастягиватьПоГоризонтали = Истина; НовыйЭлементФормы.АвтоМаксимальнаяШирина=Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Но колонки с заказами всё равно широкие (шире,чем например "НО").
Можно ли что-то с этим сделать?
Как сделать ширину всех колонок, кроме,например, последней колонки, фиксированной?
|
|
|
1
Timon1405
23.05.16
✎
10:36
|
(0)
КоллекцияКолонокТаблицыЗначений (ValueTableColumnCollection)
Добавить (Add)
Синтаксис:
Добавить(<Имя>, <Тип>, <Заголовок>, <Ширина>)
последний параметр, не?
|
|