如何把我的报表放在这个文件夹
这个文件夹怎么放进去,如何在页面显示我建好的表问题描述:
JSViewerDemo怎么把获取的报表列表目录改成自定义的
问题回答:
这个前段页面展示的页面,其实是利用js写的一个页面,他实际上是调用的一个接口 http:\\*\reports 这个接口。这个接口是后端自定义的:
你在控制层接口其实可以看到的。如果你想改成当前目录下的Report目录。可以自己实现这个类,返回一个目录的List列表。
我这边有一个现成的,您可以参考一下:
public ActionResult Reports()
{
string[] validExtensions = {".rdl", ".rdlx", ".rdlx-master", ".rpx"};
//var reportsList = GetEmbeddedReports(validExtensions);
ArrayList reportsList = new ArrayList();
DirectoryInfo dir = new DirectoryInfo("./Reports");
foreach (FileInfo fi in dir.GetFiles("*.rdlx"))
{
if (fi.Name.EndsWith(".rdlx")) // 将 docx 类型的文件过滤掉
{
//if (!fi.Name.StartsWith("son")) {
reportsList.Add(fi.Name);
//}
}
}
return new ObjectResult(reportsList);
}这个就可以获取目录下的所有.rdlx文件名了。
显示没有,但是我按你代码把我的表显示了,但是点击提示异常 是前端还要改什么吗 您改了这里,获取报表的地方也要相对应的修改:
因为报表获取依旧是获取的以前的目录:
startUp中修改如下代码。
添加静态变量:
private static readonly DirectoryInfo ResourcesRootDirectory =
new DirectoryInfo(Path.Combine(Directory.GetCurrentDirectory(), "resources" + Path.DirectorySeparatorChar));我上面是resources,您改成自己的目录
其次在修改下面代码
app.UseReporting(settings =>
{
app.UseReporting(config => config.UseFileStore(ResourcesRootDirectory));
settings.UseCompression = true;
});让UseReporting指向刚才配置的那个目录地址就可以
页:
[1]