|
v8: Программно добавляемые колонки в табличном поле | ☑ | ||
---|---|---|---|---|
0
ХочуСпец
03.04.12
✎
09:32
|
Есть табличное поле
К табличному полю добавляются N*2 колонок: Колонка11, Колонка12, .... ,КолонкаN1, КолонкаN2 Можно ли как то табличное для пользователя представить в виде: Группа1 | ... | ГруппаN Колонка11 | Колонка12 | ... | КолонкаN1 | КолонкаN2 Колонки сгруппировать |
|||
1
Fish
03.04.12
✎
09:33
|
(0) Можно
|
|||
2
ХочуСпец
03.04.12
✎
09:34
|
(1) каким образом
|
|||
3
Fish
03.04.12
✎
09:36
|
(2) Через положение колонки
|
|||
4
ХочуСпец
03.04.12
✎
09:40
|
(3) я тоже думал так сделать:
но как создать группу? Н-Р, 01.01.12 | ... Колонка11 | Колонка12 | ... Т.е. н-р, группа - это некоторая дата |
|||
5
ХочуСпец
03.04.12
✎
09:42
|
Да, можно создать колонку Группа, без данных и поле ввода, настроить положение
но это через одно место наз-ся |
|||
6
ХочуСпец
03.04.12
✎
09:55
|
Кому интересно:
При выводе строки для группировочной колонки ппоставил ВысотаЯчейки = 0 вроде нормально, хотя не знаю правильно ли |
|||
7
ХочуСпец
03.04.12
✎
09:59
|
но есть одна проблемка:
заранее неизвестно сколько именно будет групп колонок |
|||
8
n koretsky
03.04.12
✎
10:32
|
(7)
ниразу не проблема: Выполнить("Текст"); сам не раз делал такое, когда наперед не известно сколько будет колонок, таблиц значений, массивов и тд. |
|||
9
ХочуСпец
06.04.12
✎
16:00
|
(7) Хотел бы поднять тему, т.к. формирование дерева с группировочными колонками происходит очень криво
Для группировочной колонки ВысотаЯчейки = 0 (установил программно) Но все группировочной колонки высота все равно <> 0 |
|||
10
ХочуСпец
09.04.12
✎
11:08
|
вверх
|
|||
11
nuctoh
09.04.12
✎
11:14
|
Дак а в чем проблема-то?
Колонки = ЭлементыФормы.ТабПоле.Колонки; Колонки.Колонка11.Положение = ПоложениеКолонки.НаСледующейСтроке; Колонки.Колонка12.Положение = ПоложениеКолонки.ВТойЖеКолонке; //.... Колонки.Колонка1N.Положение = ПоложениеКолонки.ВТойЖеКолонке; Колонки.Колонка21.Положение = ПоложениеКолонки.НаСледующейСтроке; Колонки.Колонка22.Положение = ПоложениеКолонки.ВТойЖеКолонке; //.... Колонки.Колонка2N.Положение = ПоложениеКолонки.ВТойЖеКолонке; |
|||
12
nuctoh
09.04.12
✎
11:19
|
А чтобы скрыть группировочные ячейки, юзаешь событие ПриПолученииДанных() или ПриВыводеСтроки()
Для Каждого ТекКолонка Из ЭлементыФормы.ПодпискаНаОшибки.Колонки Цикл Если Лев(ТекКолонка.Имя, 6) = "Группа" Тогда ОформлениеСтроки.Ячейки[ТекКолонка.Имя].Видимость = Ложь; КонецЕсли; КонецЦикла; |
|||
13
ХочуСпец
09.04.12
✎
13:02
|
(11)
Именно так и сделал (12) видимость колонки оставлять надо |
|||
14
ХочуСпец
09.04.12
✎
13:03
|
(11) если есть время попробуй сделать что то подобное, увидишь в чем зихер
|
|||
15
nuctoh
09.04.12
✎
13:06
|
Расскажи, а то у меня именно так и сделано в одной обработке
|
|||
16
ХочуСпец
09.04.12
✎
13:11
|
Выглядит так:
Группировочная колонка ---------------------- Количество1 | Количество2 ---------------------------- ВОТ ЗДЕСТЬ ЕСТЬ НЕБОЛЬШАЯ ПОЛОСКА (мм = 2, хотя Высота ячейки колонки "Группировочная колонка") = 0 !!! 20 шт | 30 шт |
|||
17
nuctoh
09.04.12
✎
13:13
|
Дак вообще не надо играть высотой ячейки группировочной колонки - тупо скрой ее, зачем тебе надо оставлять видимость этой колонки, если ты все равно пытаешься свести ее высоту в ноль?
|
|||
18
ХочуСпец
09.04.12
✎
13:16
|
(17) Эта колонка - день недели
как я ее скрою от пользователя |
|||
19
nuctoh
09.04.12
✎
13:19
|
Блин, ты похоже не читал то, что я написал. Или читал, но тяп-ляп. Скрыть нужно не КОЛОНКУ, а ЯЧЕЙКУ. Тогда в шапке останется нужный юзеру день недели, а саму таблицу паразитные пустые ячейки засорять не будут. Как скрыть ЯЧЕЙКУ я писал в посте (12)
|
|||
20
ХочуСпец
09.04.12
✎
13:20
|
(19) млин точно
спасибо, щас поюзаю |
|||
21
ХочуСпец
09.04.12
✎
13:23
|
(19) получилось
еще раз спасибо |
|||
22
nuctoh
09.04.12
✎
13:23
|
gl
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |