我正在使用devexpress blazor报告创建一个web应用程序,该应用程序包含一个简单的页面
<div style="margin: auto; width: 80%;">
<DxReportDesigner
ReportUrl="HelloWorld" Height="1000px" Width="100%" AllowMDI="true">
<DxReportDesignerWizardSettings UseFullscreenWizard="false"/>
</DxReportDesigner>
</div>
根据文档,我已经在Startup.cs文件上注册了数据源向导类型提供程序
services.AddScoped<ReportStorageWebExtension, ReportStorageWebExtension1>();
DevExpress.XtraReports.Web.ReportDesigner
.DefaultReportDesignerContainer.RegisterObjectDataSourceWizardTypeProvider<GDataTypeProvider>();
我的GDataTypeProvider如下所示:
public class GDataTypeProvider : IObjectDataSourceWizardTypeProvider {
public IEnumerable<Type> GetAvailableTypes(string context) {
return new[] {
typeof(SampleObjectTypes.DataSource),
typeof(SampleObjectTypes.DataSource2)
};
}
当我运行项目时,设计器显示"添加数据源"不可见,我做错了什么??
您需要注册IObjectDataSourceWizardTypeProvider
的实现,如注册声明类型帮助主题中所述:
using DevExpress.DataAccess.Web;
...
public void ConfigureServices(IServiceCollection services)
{
services.ConfigureReportingServices(configurator => {
configurator.ConfigureReportDesigner(designerConfigurator => {
designerConfigurator.RegisterObjectDataSourceWizardTypeProvider<GDataTypeProvider>();
});
});
}
您现在执行此操作的方式仅适用于ASP.NET WebForms/MVC应用程序。