¿Cómo heredar un informe de un código?
Question: ¿Cómo heredar un informe de un código?
Answer:
1. Cree un nuevo informe:
Report report = new Report();
2. Añada el evento CustomLoadEventHandler para cargar el informe básico:
report.LoadBaseReport += new CustomLoadEventHandler(FReport_LoadBaseReport);
3. Carga el informe que se herede:
report.Load("InheritReport.frx");
4. Elimine CustomLoadEventHandler:
report.LoadBaseReport -= new CustomLoadEventHandler(FReport_LoadBaseReport);
5. Ahora puede mostrar el informe o abrirlo en el diseñador. Contiene el informe que se hereda y el que hereda el informe básico:
report.Show();
También tiene que crear un evento para cargar el informe básico:
1 2 3 4 5 6 |
private void FReport_LoadBaseReport(object sender, CustomLoadEventArgs e) { // e.FileName contains the name of base report. It may be the file name, or an ID in the database, // it depends on how you load the main report e.Report.Load("C:\\Users\\InheritReport\\bin\\Debug\\Title2.frx"); } |
Y el código completo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Report report = new Report(); report.LoadBaseReport += new CustomLoadEventHandler(FReport_LoadBaseReport); report.Load("InheritReport.frx"); report.LoadBaseReport -= new CustomLoadEventHandler(FReport_LoadBaseReport); report.Show(); } private void FReport_LoadBaseReport(object sender, CustomLoadEventArgs e) { // e.FileName contains the name of base report. It may be the file name, or an ID in the database, // it depends on how you load the main report e.Report.Load("C:\\Users\\InheritReport\\bin\\Debug\\Title2.frx"); } } |
Si desea cargar un informe de la base de datos, remplace el método Load() por LoadFromString().