我有一个TreeView,其中包含节点。用户单击节点时,应创建并显示相应的CrystalReport文档。

例如,我的节点名称为:“PeriodReport1”,“PeriodReport2”,“PeriodReport3”。我的CrystalReport文档的名称相同:“PeriodReport1”,“PeriodReport2”,“PeriodReport3”。

如何创建和显示正确类型的Crystal Reports文档?我可以做这样的事情:

select case reportName
    case "PeriodReport1"
        dim myReport as new PeriodReport1
    case "PeriodReport2"
        dim myReport as new PeriodReport2
    ...
end select

但是,也许有更好的方法可以做到这一点。我可以使用反射来做到这一点吗?

最佳答案

只要报告具有默认的无参数构造函数,即您可以说新的PeriodReport ...

Activator.CreateInstance(Type.GetType("namespace.typename"))

09-30 15:29