访问 DataBand 上的所有 MemoView
Access all MemoViews on a DataBand
在 Delphi 中,我将 TfrxUserDataSet 分配给报告带:
var
Band : TfrxDataBand;
begin
Band := frxReport1.FindObject('MyBandName') as TfrxDataBand;
Band.DataSet := frxUserDataSet1;
end;
之后我还需要将数据集分配给该波段上的所有 MemoViews。
var
AMemo : TfrxMemoView;
begin
AMemo:=Form1.frxReport1.FindObject('Memo3') as TfrxMemoView;
AMemo.DataSet:=ABand.DataSet;
//... and so forth, for all MemoViews on the report band
end;
但是有没有办法在不知道名称的情况下遍历数据带上的所有备忘录视图?
我想我可以阅读报告的 .FR3 文件并使用其结构化规范,但我不想这样做。
您可以迭代 ContainerObjects 集合来访问子组件。例如:
var
I: Integer;
Band: TfrxDataBand;
Control: TfrxComponent;
begin
Band := frxReport1.FindObject('MyBandName') as TfrxDataBand;
for I := 0 to Band.ContainerObjects.Count - 1 do
begin
Control := Band.ContainerObjects[I];
if Control is TfrxMemoView then
begin
TfrxMemoView(Control).DataSet := Band.DataSet;
...
end;
end;
end;
在 Delphi 中,我将 TfrxUserDataSet 分配给报告带:
var
Band : TfrxDataBand;
begin
Band := frxReport1.FindObject('MyBandName') as TfrxDataBand;
Band.DataSet := frxUserDataSet1;
end;
之后我还需要将数据集分配给该波段上的所有 MemoViews。
var
AMemo : TfrxMemoView;
begin
AMemo:=Form1.frxReport1.FindObject('Memo3') as TfrxMemoView;
AMemo.DataSet:=ABand.DataSet;
//... and so forth, for all MemoViews on the report band
end;
但是有没有办法在不知道名称的情况下遍历数据带上的所有备忘录视图? 我想我可以阅读报告的 .FR3 文件并使用其结构化规范,但我不想这样做。
您可以迭代 ContainerObjects 集合来访问子组件。例如:
var
I: Integer;
Band: TfrxDataBand;
Control: TfrxComponent;
begin
Band := frxReport1.FindObject('MyBandName') as TfrxDataBand;
for I := 0 to Band.ContainerObjects.Count - 1 do
begin
Control := Band.ContainerObjects[I];
if Control is TfrxMemoView then
begin
TfrxMemoView(Control).DataSet := Band.DataSet;
...
end;
end;
end;