• 水晶报表10


     这几天一直在做Crystal Reports,终于经过我的不断摸索,已经渐渐熟悉水晶报表了,我以前从来没做过水晶报表,这次算是个尝试把,可惜公司里没人做过没人教我,他们在dotnet中还一直沿用着老的答应报表方式,在asp调用打印。遇到很多问题,上网查了很多资料:

        1 支持html代码解析,虽然在Crystal Reports 9中,有Text Interpretation=HTML Text这个属性,不过很遗憾地告诉你,那个是没用的,你的Html代码他只会解析成一堆乱码,后来换了Crystal Reports 10支持.net 2003,这是序列号:License : AV860-01CS00G-U7000NCSN : 1231467890)终于不再是乱码。不过一些比如table等元素还是解析不出来,不知道Crystal Reports 11有没有解决。

        2 界面上的CRYSTALREPORTVIEWER控件不能放在DIV中,否则导出和打印功能是用不了的,这个问题搞我一天,郁闷至极啊

        3   报表.SetDataSource(date);这个date要用DataTable填充不能用DataView ,否则是无数据的

        4  用Activator.CreateInstance进行反射,c/s和b/s下不同的,c/s只要在同一个命名空间下了,直接通过Type.GetType("类名")就能得到一个Type的类型,而b/s下返回的是null,要用一下这段代码:

    private Object GetClass(string pClassName){
       AppDomain currentdomain 
    = AppDomain.CurrentDomain;
       Assembly[] assems 
    = currentdomain.GetAssemblies();
       Type type 
    = null;
       
    for (int j = 0; j < assems.Length; j++)
       
    {
        Type[] types 
    = assems[j].GetTypes();
        
    for (int k = 0; k < types.Length; k++)
        
    {
         
    if (types[k].Name.Equals(pClassName) || (types[k].FullName.Equals(pClassName)))
         
    {
          type 
    = types[k];
          
    break;
         }

        }

        
    if (type != null)
        
    {
         
    break;
        }

       }
      
       
    if(type!=null)
       
    {
        
    return Activator.CreateInstance(type);
       }

       
    return null;
      }


    现在想想:因为我创建的是网站,不是Application,所以没有命名空间的原因造成的吧
  • 相关阅读:
    内层城循环应用——买衣服
    内外层循环用法
    自定义函数的应用
    少有人走的路 随笔
    拆单发货逻辑
    拆单发货-分布页
    拆单发货-主页
    SP--report存储过程
    关于C#对Xml数据解析
    C#模拟http 发送post或get请求
  • 原文地址:https://www.cnblogs.com/qiba78/p/1229023.html
Copyright © 2020-2023  润新知