FastReport.Net 模版设计说明(一)

来源:互联网 发布:java高并发项目 编辑:程序博客网 时间:2024/05/19 07:10

1 数据源

        数据源添加有两种形式,第一种直接在"数据"->"添加数据源"选择数据连接地址,选择表就可以直接邦定数据

        第二种是通过自已在程序里动态取得数据信息加邦定到Fastreport.net模版上,在做此种时要把数据源上所有数据源清除,

        如果不清除模版上的数据源进行邦时会出现 "表格没有和数据关联,使用Report.RegisterData方法注册数据"错误,

        邦定示例:拖一个文本然后双击打开输入[frform.CName]    注意把字体设成"宋体"不然后出现显示乱码错误.

        怎么贴图片呀?晕

2 设计模版邦定数据

3 SubReport子报表

   在设置子报表时一定要注意"PrintOnParent"这个属性设成true,不然显出的数据会不规则.

 

 

 4 textobject 多行显示,先邦定当前textobject为[fr.test],需要一个换行符那就是FastReport.Functions.StdFunctions.Chr(10)可以在当前的TEXTOBJECT的afterdata事件中写入代码如下:比如以";"标记做为分隔符,此事件中的处理如下

private void Text56_AfterData(object sender, EventArgs e)
    {       
      string s = Text56.Text;
      string r = "";
      if (s.IndexOf(";") >= 0)
      {
        String[] slist = s.Split(';');
        for (int i = 0; i < slist.Length; i++)
        {
          r = r + slist[i].ToString() + StdFunctions.Chr(10).ToString();
        }
        r = r.TrimEnd(StdFunctions.Chr(10));
      }
      Text56.Text = r;
    }

 

 然后还需要设置当前textobject的属性CanGrow,CanShrink为true,WordWrap为false并把所属数据区中的textobject都设置成这样,然后再把数据区的属性CanGrow,CanShrink设置为true,这样就可以实现多行显示了.

 

  5 在模版中用代码判断逻辑并实现赋值操作,这种操作一般在代码事件中完成,可以是beforeprint,afterdata事件都行,可以在相关事件中写如下代码(模版后台代码动态邦定对象赋值操作):

//首先要得到注册的数据源

 DataSourceBase columnData = Report.GetDataSource("fritem");

//初始化数据源信息,
      columnData.Init();
      string s1 = columnData["c1"].ToString();
      string s2 = columnData["c2"].ToString();    
      if(s1.Length > 0)
      {
        ItemValuetext.Text = s1;
      }
      else
      {
        ItemValuetext.Text = s2;
      }

 

 

 

FastReport.Net 1.2.76 破解版+demos

原创粉丝点击