梓聪's profile传说中的16号PhotosBlogListsMore Tools Help

Blog


    December 13

    Visual Studio 2005的ReportViewer的一个bug

    发现一个问题:在DisplayMode.PrintLayout显示模式下,toolbar里面的PageNavigator的最大页数,
    99%的情况下,总是比报表里面显示的最大页数小1 !!!
    跟这里的哥们儿碰到的问题一模一样:http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=297814&SiteID=1
    解决方法是:
    在Form_Load里面,进行数据填充,然后调用Me.ReportViewer1.RefreshReport() ----这个刷新完,会产生RenderingComplete事件
    然后在ReportViewer1_RenderingComplete事件响应函数里,才设置Me.ReportViewer1.SetDisplayMode(DisplayMode.PrintLayout)

    但是这样会出现画面刷新两次的问题。
    所以在Form_Load里面,数据填充前,先Me.ReportViewer1.Visible = False
    在ReportViewer1_RenderingComplete事件响应函数里,设置DisplayMode.PrintLayout之前,先Me.ReportViewer1.Visible = True

    还可以在Form上面加点提示信息之类的,用户就不会感到突兀了。
    December 12

    [16手把手]教你导入.NET模板

    [16手把手]教你导入.NET模板
    最近学习BHO,学习一位高人的文章(参见:http://blog.csdn.net/jackiechen01/archive/2007/08/11/1738010.aspx),
    他已经制作好一个项目模板了,导入即可使用
    经过一番折腾,终于导入成功,把过程写一下,希望能对被这个问题困扰过的朋友们有帮助:
    1.修改“BHO HelloWorld.vstemplate”文件
           (1)下载得到的是名为“BHO HelloWorld.zip”的压缩包
           (2)把它里面的“BHO HelloWorld.vstemplate”文件解压出来
           (3)到目录“C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\CSharp\Windows\1041”下,
               是不是看见好多.zip文件?随便打开一个,查看里面的.vstemplate文件(是个xml文件)的内容,
               把它的第一行拷贝下来,
                   比如“<VSTemplate Version="2.0.0" Type="Project" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">”
               然后用这一行把刚解压出来的“BHO HelloWorld.vstemplate”文件的第一行替换掉
           (4)“BHO HelloWorld.vstemplate”文件的内容有个问题:
               请看这一行:“<ProjectItem>BHO\BHO.cs<ProjectItem>”,因为它是个xml文件,这行的“<ProjectItem>”的结束标签少了一个“/”
               修改之后变成:“<ProjectItem>BHO\BHO.cs</ProjectItem>”
               修改“BHO HelloWorld.vstemplate”文件大功告成,把它重新压缩回“BHO HelloWorld.zip”

    2.导入模板
           (1)在目录“C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\CSharp”里,新建一个文件夹,比如:“BHO HelloWorld”
           (2)把“BHO HelloWorld.zip”拷贝到这个文件夹里
           (3)然后进入命令行(就是平时说的DOS),进入到目录“C:\Program Files\Microsoft Visual Studio 8\Common7\IDE”下,
              然后执行:devenv /setup
              稍等片刻之后,OK!!

    3.重启你的Visual Studio 2005,创建C#项目的时候,就能看到这个项目的模板了:)