Узнать индекс интересующей колонки
Есть некоторое количество записей с ОДИНАКОВЫМ названием (Row3). При печати таблицы (cross-tab) fastreport непременно соединяет все эти записи (строки) в одну. С одной стороны, мне понятно его такое поведение - типа раз имя у строк одинаковое - значит это одна строка. Но с другой стороны, мне, допустим, надо выводить все группы, в которых содержатся подгруппы (н-р, группа1(подгруппа1, подгруппа2, подгруппа3), группа2(подгруппа1, подгруппаз) и т. д.), т е. подгруппа1 в группе1 и подгруппа1 в группе2 это две СОВЕРШЕННО РАЗНЫЕ строки, а он их сливает в одну. Названия этих групп/подгрупп и есть Row3, и для отчета мне нужно только это поле. (example.fr3)
Попыталась решить проблему, вставив уникальные номера групп/подгрупп в rowfields. Но появилась новая проблема - пользователь не желает видеть никаких номеров, - нам, дескать, и так понятно. Теперь не могу удалить два первых столбца. Ясное дело, что это делается в коде на событии DBCrossOnCalcWidth, только вот как узнать индекс первых двух??? (example1.fr3)
По моей логике индекс первого столбца =0, индекс второго столбца =1, т е , чтоб убрать первый
Буду очень благодарна хотя бы за соответствующую ссылочку в руководстве, где написано про индексацию.
Попыталась решить проблему, вставив уникальные номера групп/подгрупп в rowfields. Но появилась новая проблема - пользователь не желает видеть никаких номеров, - нам, дескать, и так понятно. Теперь не могу удалить два первых столбца. Ясное дело, что это делается в коде на событии DBCrossOnCalcWidth, только вот как узнать индекс первых двух??? (example1.fr3)
По моей логике индекс первого столбца =0, индекс второго столбца =1, т е , чтоб убрать первый
procedure DBCross1OnCalcWidth(ColumnIndex: Integer; ColumnValues: Variant; var Width: Extended);
begin
if ColumnIndex = 0 then Width := 0;
end;
но моя логика явно не совпадает с логикой FR... Буду очень благодарна хотя бы за соответствующую ссылочку в руководстве, где написано про индексацию.
Комментарии
У меня уже не в первый раз возникают сложности именно из-за незнания того,какой индекс присваивается какому столбцу/ячейке
Средств для сокрытия заголовков строк в FR нет. Столбцы можно скрывать в DBCrossOnCalcWidth
В Вашем случае можно в Row3 использовать номер+название группы, номер удаляйте в DBCrossOnPrintRowHeader
Предлагаете считывать позицию первого пробела и удалять все, что до него?
И еще: Допустим, нужно скрыть первый подстолбец grandtotal столбца, Я так понимаю, это все-таки событие DBCrossOnCalcWidth на заголовке СТОЛБЦА, но, он никак не хочет удаляться...
(Понимаю, немного не по теме, но я уже открывала этот вопрос, и безрезультатно...) Понятно. А Вы не знаете, почему он строки с одинаковыми назчаниями обязательно сливает в одну, ведь свойство Group не стоит. Какая-то особенность FR?
Хотя эта подвязка к пробелу меня, конечно, немного пугает.