将报表设计器集成到 .NET 应用程序中的最佳方法是什么?

发布于 2024-07-12 06:50:05 字数 149 浏览 6 评论 0原文

我需要一个解决方案,以便客户能够在没有任何 IT 知识的情况下定制自己的报告。 我需要一个易于与我的 .NET (C#) 应用程序集成的设计器。

最好的解决方案/产品是什么(如果有)? 或者我应该考虑开发自己的?

谢谢大家, G。

I need a solution in order to provide customers the ability to customize their own reports, without any IT knowledge. I need a designer easy to integrate with my .NET (C#) application.

What is the best solution/product, if any? Or should I consider to develop my own?

Thanks all,
G.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜空下最亮的亮点 2024-07-19 06:50:05

一种选择是 SQL Server 附带的报表生成器。 您可以在数据库上生成数据集市或数据源视图。 如果您的应用程序具有 Web 前端,您可以相当轻松地将流程引导至构建器应用程序。 对于富客户端来说,它的集成有点不太干净,因为您必须生成一个浏览器并在报表模型上打开它。

这方面的另一个选项是 RSInteract。 这比报表生成器要好一些,因为它对 OLAP 有更好的支持立方体。 它将使用 (IIRC) RS 报告、报告模型和多维数据集。

One option would be Report Builder, which comes with SQL Server. You can produce a data mart or a data source view over your database. If your application has a web front-end, you can fairly easily direct flow to the builder application. For a rich-client it's a bit less cleanly integrated as you would have to spawn a browser and open it on the report model.

Another option in this vein is RSInteract. This is somewhat better than report builder, as it has better support for OLAP cubes. It will consume (IIRC) RS reports, report models and cubes.

我在另一个问题中发布了此内容,但我会把它放在这里也一样。 这是我为实现类似目标而必须做的事情的快速总结。

在我的公司,我必须自己组装
报告生成器。

我们有大约 30 个左右的报告
我们的用户可以提供服务报告
通过网络或桌面访问
应用。 我们想做的是
让我们的用户能够采取任何
这些报告中的给定部分以及
创建自己的。

如果有我们为其构建的报告
但他们不想看到
图表,他们可以创建相同的报告
没有它。 如果他们想结合
需要制作 4 份不同报告的部分内容
他们可以拖动一份总结报告
关于我们的自定义构建器的部分
并保存。

我必须放置的报告生成器
一起拉倒所有不同的
他们选择并阅读的子报告
通过 XML 将它们添加到
报告生成器模板 XML 文件 I
已经创造出来了。 然后我必须聚合
所有参数以免询问
为他们不止一次(参数
名称必须在所有名称中都是唯一的
如果您不想要报告
汇总)。 这个新报告 XML 是
部署到服务器和用户
可以随时访问它们。

我还赋予了他们以下能力:
创建自己的封面、标题,
和页脚通过拖动文本框,
图像、全局变量(运行日期、
创建者、运行者、页码等...
空白画布上的任何地方。 我然后
转换他们吸毒的所有物品
在此画布上周围并调整大小
到另一个报告 XML 文件并部署
它作为他们可以添加的子报告
到他们的自定义报告。

是的,这花了相当多的时间
工作,但我们的用户喜欢它。 我们在
现在允许他们的过程
创建具有特殊分组的报告
所以报告可以在不同的地方运行
水平。

所以有可能,但是没有
简单的答案。 =) 我很乐意给予
向任何提出问题的人提供建议,但
直接复制代码可能是违规的
我的合同,但我会尽我所能
除此之外。

I posted this in a different question, but I'll put it here as well. It is a quick run down on what I had to do to achieve something similar.

At my company I had to put together our own
Report Builder.

We have about 30 or so Reporting
Service reports that our users can
access through the web or desktop
application. What we wanted to do was
give our users the ability to take any
given section within those reports and
create their own.

If there is a report we have built for
them but they don't want to see the
graph, they can create the same report
with out it. If they want to combine
parts from 4 different reports to make
one summary report they can drag those
sections around on our custom builder
and save it.

The report builder I had to put
together pulls down all the different
sub-reports they have chosen and reads
through the XML adding them to a
Report Builder Template XML file I
have created. I then have to aggregate
all the parameters so as to not ask
for them more than once (parameter
names do have to be unique across all
reports if you don't want them
aggregated). This new report XML is
deployed to the server and the users
can access them when ever they want.

I've also given them the ability to
create their own cover pages, headers,
and footers by dragging text boxes,
images, global variables (date ran,
created, ran by, page number, etc...
anywhere on a blank canvas. I then
convert all the items they've drug
around and resized on this canvas in
to another report XML file and deploy
it as a sub-report that they can add
to their custom reports.

Yes, this has taken quite a bit of
work, but our users love it. We're in
the process now of allowing them to
create a report with special groupings
so the report can be ran at different
levels.

So it is possible, but there is no
easy answer. =) I'd be glad to give
advice to anyone who asks, but a
direct copy of the code is probably a violation
of my contract, but I'll do what I can
outside of that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文