小编Daa*_*aan的帖子

何时使用RDLC而不是RDL报告?

我在过去几周一直在研究SSRS 2005/2008,并创建了一些服务器端报告.对于某些应用,一位同事建议我针对该特定情况研究RDLC.我现在试图了解RDL和RDLC之间的主要区别.

搜索此信息最多会产生碎片化信息.我了解到:

  • RDLC报告不存储有关如何获取数据的信息.
  • RDLC报告可以由ReportViewer控件直接执行.

但我仍然不完全理解RDLC文件与其他相关系统(报告服务器,源数据库,客户端)之间的关系.

为了更好地掌握RDLC文件,我想知道它们的使用与RDL文件的区别以及在什么情况下选择RDLC而不是RDL.也欢迎链接到资源.

更新:

ASP.NET论坛上的一个主题讨论了同样的问题.从中,我对这个问题有了更好的理解.

RDLC的一个特性是它可以在ReportViewer控件中完全在客户端运行.

  • 这消除了对Reporting Services实例的需要,甚至无需任何数据库连接,但是:
  • 它增加了必须手动提供报告中所需数据的要求.

这是优势还是劣势取决于具体应用.

在我的应用程序中,无论如何都可以使用Reporting Services实例,并且可以轻松地从数据库中提取报告所需的数据.有什么理由让我考虑RDLC,还是我应该坚持使用RDL?

rdlc rdl reporting-services

114
推荐指数
7
解决办法
13万
查看次数

在哪里指定图像尺寸以实现最快的渲染:在HTML或CSS中?

我了解到明确指定图像尺寸是最佳做法.然后,浏览器可以在仍然自己下载图像的同时布局页面,从而改善(经过执行的)页面渲染时间.

这是真的?如果是这样,在HTML或CSS中指定维度是否有区别?

  • HTML: <img src="" width="200" height="100">
  • 内联CSS: <img src="" style="width: 200px; height: 100px">
  • 外部CSS: #myImage { width: 200px; height: 200px; }

html css rendering

32
推荐指数
1
解决办法
3万
查看次数

如何在开始编辑代码时自动停止调试?

我正在开发一个ASP.NET项目.当我调试时,我经常想从浏览器切换回Visual Studio(2008)并编辑一些代码.然后Visual Studio不允许我编辑代码,除非我先显式退出调试.

是否有任何方法可以配置Visual Studio,以便自动停止调试并允许我编辑代码,或者我是否必须每次都手动停止它?

禁用编辑和继续允许我编辑代码,但这不会强制VS停止调试...

asp.net debugging visual-studio

11
推荐指数
1
解决办法
2618
查看次数

一个失败的测试导致其他异步测试失败

我有一个非常基本的业力/茉莉花设置,其中一个测试套件包含两个测试.我希望第一次测试失败,第二次测试通过.

describe("The system", function() {

    it("should fail", function() {
        expect(true).toBe(false);
    });

    it("should succeed", function(done) {
        setTimeout(function() {
            expect(1).toBe(1);
            done();
        }, 10);
    });
});
Run Code Online (Sandbox Code Playgroud)

但是,当我在浏览器中运行这些测试并单击Debug按钮打开Karma DEBUG RUNNER时,我看到两个测试都失败了,第二个测试失败并显示第一个测试的错误消息.常规测试运行(即不在Karma DEBUG RUNNER中)按预期工作.

第二个测试的错误消息是:

Uncaught Expected true to be false.
    at UserContext.<anonymous> (http://localhost:9876/base/workingspec.js:4:22) thrown
Run Code Online (Sandbox Code Playgroud)

当我禁用或删除第一个测试时,第二个测试通过.

为什么在这种情况下两个测试都失败了?为什么第二次测试失败并显示第一次测试的错误消息?


我的测试设置包含以下软件包/版本:

+-- jasmine-core@2.7.0
+-- karma@1.7.0
+-- karma-chrome-launcher@2.2.0
+-- karma-jasmine@1.1.0
`-- karma-jasmine-html-reporter@0.2.2
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing asynchronous jasmine karma-runner

8
推荐指数
1
解决办法
1588
查看次数

自定义控件的工具提示

我创建了一个自定义控件(继承自UserControl),其中包含一些控件(标签,文本框,滑块),并在Designer中为它指定了一个supertooltip(来自devComponents dotnetbar;与普通相同的问题;检查图片).

但工具提示没有出现.在"普通"控件上它可以工作,所以这是自定义控件的问题.

知道什么是错的吗?

编辑:这是一个示例:下载

在制作样品时,我认为我发现了失败.如果鼠标悬停在父级上,则工具提示才会出现.可能?如果是:任何想法如何解决?

替代文字

c# user-controls tooltip winforms

5
推荐指数
1
解决办法
4051
查看次数

你能在格式字符串中包含条件检查代码吗?

我有一个自定义控件,它是列表的一部分.应显示的文本是通过为其Text属性赋值来设置的.在运行时,此文本从数据库加载.我想在文本前添加字符串"Toelichting:"(荷兰语为"说明").我可以通过将控件的FormatString属性设置为以下来完成此操作:

"Toelichting: {0}"
Run Code Online (Sandbox Code Playgroud)

现在,如果加载的文本是一个空字符串,我想显示"Toelichting: - ",所以最后加上一个短划线.否则,我想显示"Toelichting:MyText".是否可以向FormatString添加一些条件检查代码,以便我可以检查参数是否为空?

.net c# compact-framework

1
推荐指数
1
解决办法
1835
查看次数

如何处理无效的执行状态?

假设您有以下代码块:

if (Light.On) {
    // do something...
} else if (Light.Off) {
    // do something else...
} else {
    // this state should never be reached
}
Run Code Online (Sandbox Code Playgroud)

现在假设应用程序逻辑规定在代码的这一部分中,永远不应该达到最后一个状态,但它不能在编译时确定.也许还有其他状态(例如Light.Broken)可以由应用程序的其他部分设置,但这里没有使用.

你在最后一个else街区添加了什么代码?

  1. 不添加任何代码,因为无论如何都不应该访问它.
  2. 添加一些日志记录功能,以便您作为开发人员知道已达到某些非法状态.
  3. 抛出一个例外,因为不能达到状态,无论如何都要到达,其他东西一定是错的.

第一种选择对我来说似乎不合理,希望事情正确看起来不是正确的选择.选项二的优势在于您的应用程序不会立即崩溃,因此如果在极少数情况下发生这种情况而未在测试中发现,则客户可以继续使用该应用程序,并通知开发人员该问题.选项三导致应用程序崩溃,这显然不是您希望客户体验的东西,但它确实表明出现问题.

处理这种情况的最佳方法是什么?

编辑,根据评论:

引导讨论的一些额外考虑因素:

  • 包含上述代码的方法的合同不允许在该时刻设置任何其他值,然后打开和关闭.
  • 假设代码位于应用程序的一个不那么关键的部分.

branch if-statement

0
推荐指数
1
解决办法
309
查看次数