我第一次接触C#自带的报表,我的本意就是设计一个简单的发票样式,然后直接打印。      我先自建了一个测试报表的东西,是系统自动生成的报表,我在数据库专家里将一个测试数据表也调入进去,预览正确。但这不是我所需要的东西,我所需要的在发票上显示的内容不是来自一个数据表,而是来自多个数据表,而且是有条件的,这个该怎么办呢?    第二个问题,我将测试数据表放到报表里后,由于在报眉处放置的是数据库字段的名称,我想将它改成中文,可是在它的“TEXT”属性里不能进行修改,这又该怎么办呢?
    初次接触报表,请大家多多指教。

解决方案 »

  1.   

    自己搞一个,不用默认的。ActiveReport或者就用EXCEL好了。
      

  2.   

    将多个表建成视图,然后做一个DataSet就可以了。
      

  3.   

          我是这样想的,将多个表的内容 select后存入一dataset中,然后将报表控件的datasource设为此dataset,可是我想要的报表样式(发票)是有固定样式,发票中的某些内容是需要dataset中的内容进行填充,我该怎 样设计这个报表样式,而且怎 样通知它到dataset中去数据呢
      

  4.   

    1.把多个表按条件Join on 成一个表-->DataSet or DataTable -->报表显示就可以了
    2.把鼠标入页眉的相应字段上,等到选中里内容直接修改就可以了,同时在属性里把下划线也去掉
      

  5.   

    把你的发票(原样大小)先扫描一份,然后在报表中把它设设置成背景,然后把dataSet相应字段,直接拖放到需要的位置就可以了,最后把背景干掉
      

  6.   

     我建了一个Dataset,在其中又建了两个DataTableA、DataTableB,做试验时,分别向两个DataTable中填充了几条记录(一个DataTableA里填充的是将要显示在中间主体部分的几条记录,另一个dataTableB里只有一条记录,包括了收费员名称,缴费人名称,地址、编号等信息),在报表里(这里不是水晶报表,而是MicrosoftreportViewer),将要显示的内容字段拖到了相应的位置。    刚开始时,只向发票时填充了只包括一条记录的那个DataTableB中的内容,可以正常显示出内容来。
        接着我将包含多条记录的DataTableA的字段拖到报表主体中的表格里。但这时有个问题出现了。
        我的DataTableA一共有三个字段。Name,Rates,numMonth,Name为字符串类型,Rates为Double类型,numMonth为int32类型。在我将三个字段拖到表格控件里时,正常显示应该=Fields!Name.Value吧?,但它自动变成了:=First(Fields!pName.Value, "reportDS_DataTableA"),其它两项自动成为:=Sum(Fields!pRates.Value, "reportDS_DataTableA")和=Sum(Fields!numMonth.Value, "reportDS_DataTableA")了,为啥这时自动使用了First,Sum函数了呢?
        先不管它了,我就开始调试一下看看会出现啥结果吧?结果在MicrosoftReportViewer里出现了提示: 尚未为数据源reportDS_DataTableA提供数据源实例.
         这就是我的试验之路,我到网上去搜索了一下,可惜都没有得到我想要的答案,大多都是从数据库里全部显示某一个数据表的内容,而没有怎样进行变量选取,多表查询报表的内容出来
          
      

  7.   

        我刚才又试了一个水晶报表,用它来显示DataTableA中的数据,能否显示成功,因为我的打算是DataTableA中存放的数据是报表中“详细资料”那部分,报表中其它部分显示的一些内容准备来自于"DataTableB“中,但这两个数据表没啥直接联系,因为这是我临时生成的表。
         是不是这两个表必须要有关联才行啊。因为我的数据库专家里定义的时候,系统有个提示:你的当前链接配置包含多个起始点,请注意,这通常不被支持。   也不知道这个提示是啥意思。
      

  8.   

    用commond方式,可以使用查询方式。