我要用水晶报表打印一个柜卡标签,标签里有5个字段,Room_ID,Equipment_Name ,Equipment_type,Cabinet_ID,Clumer_ID Floor_ID六个字段,现在我要根据Room_ID和Cabinet_ID来产生报表输出数据,。Room_ID是库房编号;Cabinet_ID是柜子编号,因为库房编号和柜子编号打印时不能全都想同,每一个标签只能是库房编号相同或是柜子编号相同或是全都不同。所以在打印是就要判断这个库房编号和柜子编号。
以下是判断Room_ID和Cabinet_ID的一些步骤,哪位能将代码详细补齐并给出详细点的注释。谢谢拉。100分不够我再补private String GetNo(string strStoreNo,string strCabinetNo)
{
//根据库房编号和柜子编号计算出柜卡标签
}
private DataView GetData(DataView dv)
{
DataSet ds = new DataSet();
//dv中存有库房编号和柜子编号集
foreach(DataRow row in dv.Table.rows)
{
//根据row中的库房编号和柜子编号
//取得柜卡标签
//GetNo(strStoreNo,strCabinetNo)
//和库房编号和柜子编号一起
//存入DataSet表1中
}
return ds.Table[0].defaultView;
}
private bool DataBindRpt(DataView dv)
{
//根据传入的DV绑定并调用报表
}

解决方案 »

  1.   

    private String GetNo(string strStoreNo,string strCabinetNo)
    {
       //初学.net,一起探讨,生成编号是算法问题,不大清楚
    }
    private DataView GetData(DataView dv)
    {
    DataSet ds = new DataSet();
    //dv中存有库房编号和柜子编号集
    foreach(DataRow row in dv.Table.rows)
    {
    //根据row中的库房编号和柜子编号
    //取得柜卡标签
    string note = GetNo(strStoreNo,strCabinetNo);
                      ds.tables[0].rows.add(new object[]{note,strStoreNo,strCabinetNo});
    //和库房编号和柜子编号一起
    //存入DataSet表1中
    }
    return ds.Table[0].defaultView;
    }
    private bool DataBindRpt(DataView dv)
    {
    //根据传入的DV绑定并调用报表
             报表类 report = new 报表类();
             CrystalReportViewer ReportViewer = new CrystalReportViewer();
             ReportDocument pd = null;
             pd = report as ReportDocument;
             pd.setDataSource(dv);
             ReportViewer.ReportSource = report;
             ReportViewer.ShowDialog();
    }
      

  2.   

    www.webmis.com.cn
    自已用源程序控制
      

  3.   

    http://blog.csdn.net/pestd/archive/2005/04/29/367632.aspx