Как включить в отчет все таблицы и связи из набора данных?

Question: Как включить в отчет все таблицы и связи из набора данных?

Answer:

Используйте данный фрагмент кода для того, чтобы сделать доступными в отчёте все таблицы из вашего источника данных (DataSet):

1
2
3
4
foreach (FastReport.Data.DataSourceBase tbl in report.Dictionary.DataSources) 
{ 
 tbl.Enabled = true; 
}

Затем добавьте все связи из DataSet:

 
1
2
3
4
for (int i = 0; i < ds.Relations.Count; i++) 
{ 
 report.RegisterData(ds.Relations[i], "relation" + i); 
}

 

И включите все связи:

1
2
3
4
foreach (FastReport.Data.Relation rl in report.Dictionary.Relations) 
{ 
 rl.Enabled = true; 
}

Полный код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Report report = new Report(); 
DataSet ds = new DataSet(); 
ds.ReadXml("EstimateFile.xml"); 
report.RegisterData(ds, "ds"); 
foreach (FastReport.Data.DataSourceBase tbl in report.Dictionary.DataSources) 
{ 
 tbl.Enabled = true; 
} 
for (int i = 0; i < ds.Relations.Count; i++) 
{ 
 report.RegisterData(ds.Relations[i], "relation" + i); 
} 
foreach (FastReport.Data.Relation rl in report.Dictionary.Relations) 
{ 
 rl.Enabled = true; 
}