Список в цикл

_Тимур_
Дата: 26.12.2019 21:48:41
Здравствуйте,
как записать в виде цикла без явного перечисления?

cxGrid1DBTableView1A1.Visible:=true;
cxGrid1DBTableView1A2.Visible:=true;
cxGrid1DBTableView1A3.Visible:=true;
cxGrid1DBTableView1A4.Visible:=true;
cxGrid1DBTableView1A5.Visible:=true;
...

Количество полей больше 100
rgreat
Дата: 26.12.2019 22:05:21
_Тимур_,

for i:=1 to 99 do begin
  TcxGrid1DBTableView(FindComponent('cxGrid1DBTableView1A'+i.ToString)).Visible:=true;
end;
_Тимур_
Дата: 26.12.2019 22:20:16
Гениально и просто, спасибо
DimaBr
Дата: 26.12.2019 22:22:15
_Тимур_
Гениально и просто, спасибо

Но стоит переименовать колонку или например удалить одну из......
makhaon
Дата: 26.12.2019 22:40:43
_Тимур_,

возможно так будет удобнее:

 for i := 0 to ComponentCount - 1 do
  if (Components[i] is TcxGrid1DBTableView) and (тут какое-то дополнительное условие если нужно) then
   TcxGrid1DBTableView(Components[i]).Visible := True
YuRock
Дата: 26.12.2019 22:42:21
for i:=0 to ComponentsCount - 1 do begin
  if Components[i] is TcxGrid1DBTableView then
    ( Components[i] as TcxGrid1DBTableView).Visible:=true;
end;


Так больше похоже на рабочий кот.
DimaBr
Дата: 26.12.2019 22:42:23
Колонки могут быть в другом модуле (форме), и в ComponentCount их нет
YuRock
Дата: 26.12.2019 22:43:27
makhaon,

Да ты издеваешься, что, раньше на минуту написать нельзя было?))
makhaon
Дата: 26.12.2019 23:18:26
YuRock,



DimaBr,

а нефиг в другой модуль лезть :) пишите там, где нужно.
DimaBr
Дата: 26.12.2019 23:34:19
makhaon
а нефиг в другой модуль лезть :) пишите там, где нужно.

Вьюшка может храниться в TDataModule, а отображаться на форме. И это нормально !
Зачем перебирать все компоненты, если у вьюшки есть список колонок ?