zoukankan      html  css  js  c++  java
  • 在水晶报表中显示多个链接的数据表内容

      在水晶报表中,如果显示多个数据表内容?起初我想到的是使用子报表,通过代码动态的绑定数据源给子报表,来显示所需数据。不过,最近发现,使用子报表显示的某些字段无法显示,就连前些日子写的那篇“动态显示图片”都无法显示了,不知道是不是水晶报表组件中哪里的设置问题。从此看来使用子报表并不是明智之举。
      第二想到的,并是使用一个数据集,添加关系链接,加入相应的数据表,然后绑定给水晶报表。经过几番周折,终于拨云见彩虹了,呵呵。

    一、添加一个XML架构,定义各表的字段名称及类型

    说明:上表中xxbg是一个人员的基本信息表,gzjl是一个工作经历表,即个人信息显示报表中要显示他的工作经历。

    二、在Database Expert里加入此文件,添加以上两个表,并添加链接


    三、设计报表,将xxbg中的字段放在Report Header节中,将gzjl中的字段放在Details节中。

    四、代码实现

     1        private void Display()
     2        {
     3            //创建一个数据库连接
     4            DataManager sql = Common.CreateDataManager();
     5            //定义报表对象
     6            rptXkbz rpt = new rptXkbz();
     7
     8            //提供给报表的数据集
     9            DataSet dstRpt = new DataSet();
    10            //个人信息表
    11            DataTable dtblTmp = sql.ExecuteToDataTable("select * from zjy_ryxxbg where bh='" + Request.QueryString["bh"+ "'");
    12            //添加照片显示字段
    13            dtblTmp.Columns.Add("zpdata"typeof(byte[]));
    14            if(dtblTmp.Rows[0]["zp"].ToString() != "")
    15            {
    16                dtblTmp.Rows[0]["zpdata"= GetFileStream(dtblTmp.Rows[0]["zp"].ToString());
    17            }

    18            //添加性别
    19            dtblTmp.Columns.Add("xb1"typeof(string));
    20            dtblTmp.Rows[0]["xb1"= dtblTmp.Rows[0]["xb"].ToString() == "True" ? "" : "";
    21            //添加第一个表到数据集
    22            dstRpt.Tables.Add(dtblTmp);
    23            dtblTmp.TableName = "xxbg";
    24            //添加第二个表到数据集
    25            DataTable dtblTmp1 = sql.ExecuteToDataTable("select dlm,ksrq,jsrq,gzdw,xmmc from zjy_gzjl where dlm='" + dtblTmp.Rows[0]["dlm"+ "'").Copy();
    26            dstRpt.Tables.Add(dtblTmp1);
    27            dtblTmp1.TableName = "gzjl";
    28
    29            //建立两表的关系链接
    30            dstRpt.Relations.Add(new DataRelation("link", dtblTmp.Columns["dlm"], dtblTmp1.Columns["dlm"]));
    31            rpt.SetDataSource(dstRpt);
    32            crv.ReportSource = rpt;
    33        }
  • 相关阅读:
    BUUCTF-web ZJCTF,不过如此
    BUUCTF-web ikun(Python 反序列化)
    BUUCTF-web web1 (无列名注入)
    求前 n 个正整数的 k 次方和
    增根和失根:解方程的逻辑问题
    斜二测画法的经验公式
    像素转换mm
    正则表达式收集
    (转)mssql sp_addextendedproperty 用法,作用
    (转).net平台下垃圾回收机制
  • 原文地址:https://www.cnblogs.com/faib/p/708846.html
Copyright © 2011-2022 走看看