首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

新手对水晶报表的有关问题~

2012-01-18 
新手对水晶报表的问题~~做了几张水晶报表,先从拉模式再到简单的推模式,然后到多表的推模式~~,但在多表推模

新手对水晶报表的问题~~
做了几张水晶报表,先从拉模式再到简单的推模式,然后到多表的推模式~~,但在多表推模式时就开始困惑了~~
1、先做了Master.xsd的DataSet(拖了两张表,没任何关联)
2、利用向导做了masterSlave.rpt水晶报表(两表有关联)
3、建立MasterSlave.aspx,并添加一个水晶报表查看器
MasterSlave.aspx的cs代码如下
using   System.Data.SqlClient;
using   CrystalDecisions.Shared;//负责解释TableLogOnInfo类   类
using   CrystalDecisions.CrystalReports.Engine;//负责解释ReportDocument类

public   partial   class   MasterSlave   :   System.Web.UI.Page
{
        protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                ReportDocument   repDoc   =   new   ReportDocument();
                repDoc.Load(Server.MapPath( "masterSlave.rpt "));
                string   connString   =   "server=(local);DataBase=Northwind;Uid=test;PWD=test ";
                SqlConnection   Conn   =   new   SqlConnection(connString);
                Conn.Open();
                string   selectOrder   =   "select   OrderID,CustomerID,EmployeeID,OrderDate   from   Orders ";
                string   selectOrderDetail   =   "select   ProductID,UnitPrice,Discount   from   [Order   Details] ";
                SqlDataAdapter   sdaOrder   =   new   SqlDataAdapter(selectOrder,   Conn);
                SqlDataAdapter   sdaOrderDetail   =   new   SqlDataAdapter(selectOrderDetail,   Conn);
                //   DataSet   ds   =   new   DataSet();//使用DataSet出现在输入登陆界面
                Master   ds   =   new   Master();     //   使用Master(为DataSet实例)没有出现在输入登陆界面   ,但没有报表数据~~只有导航    
                sdaOrder.Fill(ds,   "Orders ");
                sdaOrderDetail.Fill(ds,   "OrdersDetail ");
                repDoc.SetDataSource(ds);
                ReportViewer.ReportSource   =   repDoc;
               
        }
}
    //   DataSet   ds   =   new   DataSet();//使用DataSet出现在输入登陆界面
                Master   ds   =   new   Master();     //   使用Master(为DataSet实例)没有出现在输入登陆界面   ,但没有报表数据~~只有导航    
???我怎样使用?这两个有什么区别??


[解决办法]
何不用子报表来实现?
[解决办法]
// DataSet ds = new DataSet();//使用DataSet出现在输入登陆界面
Master ds = new Master(); // 使用Master(为DataSet实例)没有出现在输入登陆界面 ,但没有报表数据~~只有导航

當然有區別了,前者是你自己自定義的一個DataSet 後者則是Master.xds中的數據,而報表中你是用的Master中的數據,隻能用後者。
[解决办法]
你是不是在VS的design time看那些数据的?那些数据不是数据库的真实数据,是水晶报表提供的假的数据...真实的数据是run这个application之后才可以看到的.



[解决办法]
我也是新手,虚心学习中

热点排行