我正在使用C#和Winforms 3.5
我有一个用户控件列表,所有用户控件都派生自一个基类.这些控件可以添加到各种面板中,我正在尝试实现拖放功能,我正在运行的问题是在DragDrop事件上.
对于DragEventArgs e.Data.GetData(typeof(baseClass))不起作用.它想要:
e.Data.GetData(typeof(derivedClass1))
e.Data.GetData(typeof(derivedClass2))
etc...
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个问题,或者更好的方法来构建它?
我想向.NET应用程序添加报告功能.我的数据源只是应用程序的数据模型,即可能已经从任何东西生成或加载的一堆对象(不一定是来自数据库).
最初的计划是从这些对象生成报告数据XML文件,然后使用XSLT将其转换为XHTML报告文件.然后,可以使用浏览器控件在应用程序中显示该报告.
但是,我注意到存在Microsoft.Reporting.*命名空间,并且根据我的尝试,似乎那里的类和控件也可以处理我的报告.改为使用它会是个好主意吗?与XML/XSLT方法相比,它是否可以节省工作量?我可能会遇到哪些限制(如果有)的Microsoft报告框架?
首先,我明白运行超大/长时间运行的报告是一个可怕的想法。我知道 Microsoft 有一个经验法则,规定 SSRS 报告的执行时间不应超过 30 秒。然而,由于外部力量,例如遵守州法律,有时庞大的报告是首选的邪恶。
在我工作的地方,我们有一个从 Crystal Reports 迁移到 SSRS 的 asp.net (2.0) 应用程序。由于庞大的用户群和复杂的报告 UI 要求,我们有一组屏幕可以接受用户输入的参数并创建要在夜间运行的计划。由于应用程序支持多个报告框架,我们不使用 SSRS 的调度/快照功能。系统中的所有报告均由预定的控制台应用程序生成,该应用程序采用用户输入的参数,并使用创建报告时使用的相应报告解决方案生成报告。对于 SSRS 报告,控制台应用程序生成 SSRS 报告并通过 SSRS Web 服务 API 将它们导出为 PDF。
到目前为止,SSRS 比 Crystal 更容易处理,除了我们最近从 Crystal 报告转换为 SSRS 的某个 25,000 页的报告之外。SSRS 服务器是 64 位 2003 服务器,有 32 gigs 的运行 SSRS 2005 的内存。我们所有的小报告都工作得非常好,但是我们在处理像这个这样的大报告时遇到了麻烦。不幸的是,我们似乎无法通过 Web 服务 API 生成预测报告。生成/导出大约 30-35 分钟后会出现以下错误:
异常消息:基础连接已关闭:接收时发生意外错误。
Web 服务调用是我相信你们以前都见过的:
data = rs.Render(this.ReportPath, this.ExportFormat, null, deviceInfo,
selectedParameters, null, null, out encoding, out mimeType, out usedParameters,
out warnings, out streamIds);
Run Code Online (Sandbox Code Playgroud)
奇怪的是,如果使用报表管理器直接在报表服务器上运行报表,则该报表将运行/呈现/导出。为报告生成数据的过程运行大约 …
我想知道如果它是空的,是否可以不附加Excel表格,如果空的话可能在电子邮件中写一个不同的评论.
当我去报告交付选项时,没有这样的配置.
编辑:我正在运行SQL Server Reporting Services 2005.
一些可能的解决方法如下所述:
我应该研究这些事情.
如何配置SSRS/Windows Server 2003,以便我可以通过需要用户名和密码的远程SMTP服务器设置电子邮件传递.
我可以使用SMTP地址和其他参数配置SSRS,但无法使用smtp用户名和密码进行配置.
我一直在寻找,但只能找到模糊的参考设置某种中继,以掩盖SSRS开箱即用的奇怪的smtp功能缺乏.
有任何想法吗?
[编辑]要清楚,我知道如何通过反思获得表格列表.我更关心设计时属性网格.
我有一个用户控件具有Form类型的公共属性.
我希望能够在设计时从下拉菜单中选择一个表单.
我想从set命名空间填充表单下拉列表:UI.Foo.Forms
如果您拥有Control的公共属性,这将起作用.在设计时,属性将自动使用表单上的所有控件填充下拉列表,供您选择.我只想用命名空间中的所有表单填充它.
我该怎么做呢?我希望我足够清楚,所以没有混乱.如果可能的话,我正在寻找一些代码示例.当我有其他截止日期要求时,我试图避免花太多时间在这上面.
感谢您的帮助.
我在SQL Server Reporting Services报告中有一个表.在其中一列中有几行可以具有相同的值,我想用交替的颜色标记这些行的"组".我该怎么办?
Reporting Services 2005中的订阅使用是否需要特殊许可?
我正在尝试通过Visual Studio 2008应用程序中的Web服务访问Reporting Services.我在哪里/哪里可以找到我的WSDL?
reporting ×3
c# ×2
winforms ×2
design-time ×1
formatting ×1
licensing ×1
properties ×1
report ×1
smtp ×1
sql ×1
sql-server ×1
ssrs-2008 ×1
xml ×1
xslt ×1