И вправду, план был замечательный — такой простой и ясный. Одно только плохо: Алиса не имела ни малейшего представления о том, как все это осуществить (С) Л.Кэррол. Алиса в стране чудес.
Что у тебя уже сделано (должно быть):
1. Ты диамически создаешь контрол (в этот момент ты знаешь его имя)
2. К этому контролу ты динамически прицепляешь метод
3. В этом методе у тебя написан вызов общего метода
Что нужно добавить:
4. На шаге 3 добавляй не просто вызов общего метода, а дополнительно передавай в качестве параметра название контрола. Ведь в момент создания ты знаешь его имя.
Пусть контрол сам передает свое имя. Тогда не надо будет его определять динамически.
Про прайс-листы. Не думаю, что нужна динамическая настройка...
Наверное хватит статической. Создай например 10 колонок, а затем включай и выключай их (но не создавай!). А еще лучше сделать все статическим.
Пример динамического включения выключения в табелях. Форма RPayTblDayHourTrans. Метод формы redrawPayTblDayHourTrans.
Пример статического управления видимостью - формы бухгалтерских журналов. Все бухгалтерские журналы работают по одной и той же таблице. Но контролы показывают разные. В твоем случае, наверное, также есть группы клиентов, которым нужны прайсы определенного вида. Видов прайсов, скорее всего, немного. Штук 10-20. По-моему, ты гораздо быстрее создашь 20 почти одинаковых форм с разными статическими колонками, чем заниматься программированием динамического управления.