请问,我现在有这样一组数据
2003年1月到12月的产品销售额,2004年1月到12的产品销售额
我怎么用水晶报表里的图来实现 
横坐标表示2003年1-12月,2004年1-12月
纵坐标表示销售额
图上将各个年月的相应销售额标志出来,各个点连接起来
望各位知道的能给点解决方法或参考资料,谢谢!!!!!!!!

解决方案 »

  1.   

    水晶报表用过,但没用到图表专家
    ,关注ing........
      

  2.   

    調用EXcel做報表,這方面的東西還是比較容易實現的
      

  3.   

    我上午按照你要求做的是两个字段
    public DataTable MakeDataTable()
    {
    DataTable myTable;
    DataRow[] myNewRow = new DataRow[13];
                  
    myTable = new DataTable("My Table");
    // Create a new DataTable.
    DataColumn colDateTime = new DataColumn("yearmonth");
    colDateTime.DataType = System.Type.GetType("System.DateTime");
    myTable.Columns.Add(colDateTime);
    // Create DataColumn objects of data types.

    DataColumn colmoney = new DataColumn("money");
    colmoney.DataType = System.Type.GetType("System.Int32");
    myTable.Columns.Add(colmoney);
     
    // Populate one row with values.

    myNewRow[0] = myTable.NewRow();

     
    myNewRow[0]["yearmonth"] = "2004-01-09";
    myNewRow[0]["money"] = 64;
    myTable.Rows.Add(myNewRow[0]);
    myNewRow[1] = myTable.NewRow();
    myNewRow[1]["yearmonth"] = "2004-02-09";
    myNewRow[1]["money"] = 23;
    myTable.Rows.Add(myNewRow[1]);
    myNewRow[3] = myTable.NewRow();

    myNewRow[3]["yearmonth"] = "2004-03-09";
    myNewRow[3]["money"] = 34;
    myTable.Rows.Add(myNewRow[3]);
    myNewRow[4] = myTable.NewRow();
    myNewRow[4]["yearmonth"] = "2004-04-09";
    myNewRow[4]["money"] = 23423;
    myTable.Rows.Add(myNewRow[4]);
    myNewRow[5] = myTable.NewRow();
    myNewRow[5]["yearmonth"] = "2004-05-09";
    myNewRow[5]["money"] = 6234;
    myTable.Rows.Add(myNewRow[5]);
    myNewRow[6] = myTable.NewRow();
    myNewRow[6]["yearmonth"] = "2004-06-09";
    myNewRow[6]["money"] = 64234;
    myTable.Rows.Add(myNewRow[6]);
    myNewRow[7] = myTable.NewRow();
    myNewRow[7]["yearmonth"] = "2004-07-09";
    myNewRow[7]["money"] = 6234;
    myTable.Rows.Add(myNewRow[7]);
    myNewRow[8] = myTable.NewRow();
    myNewRow[8]["yearmonth"] = "2004-08-09";
    myNewRow[8]["money"] = 234;
    myTable.Rows.Add(myNewRow[8]);
    myNewRow[9] = myTable.NewRow();
    myNewRow[9]["yearmonth"] = "2004-09-09";
    myNewRow[9]["money"] = 234;
    myTable.Rows.Add(myNewRow[9]);
    myNewRow[10] = myTable.NewRow();
    myNewRow[10]["yearmonth"] = "2004-10-09";
    myNewRow[10]["money"] = 2342;
    myTable.Rows.Add(myNewRow[10]);
    myNewRow[11] = myTable.NewRow();
    myNewRow[11]["yearmonth"] = "2004-11-09";
    myNewRow[11]["money"] = 2342;
    myTable.Rows.Add(myNewRow[11]);
    myNewRow[12] = myTable.NewRow();
    myNewRow[12]["yearmonth"] = "2004-12-09";
    myNewRow[12]["money"] = 6344;
    myTable.Rows.Add(myNewRow[12]);

    return myTable;  
    }
    private void Form1_Load(object sender, System.EventArgs e)
    {
              
               DataTable myDatatable = this.MakeDataTable();
       int a = myDatatable.Rows.Count;
       CrystalReport1 cr = new CrystalReport1();    cr.SetDataSource  ( myDatatable);
       this.crystalReportViewer1.ReportSource = cr;
       
    }
    然后用xml文件或者仅字段定义加入上面定义的两个字段 
    然后你就用专家自定义图表一步一步做就可以的啊。
    留下邮箱我给你源代码。
      

  4.   

    “2003年1月到12月的产品销售额,2004年1月到12的产品销售额”这个查询结果放到一个数据集(dataset),可以(行24,列1或者列24,行1,个人建议取后者)。之后选择折线图表(去掉具体月份明细栏,自己加上标题“2003年1月到12月的产品销售额,2004年1月到12的产品销售额”)
      

  5.   

    先谢谢各位的帮忙.
    fpnet(浮萍--要做事,先学会做人...) 在excel里实现是很容易的,但是项目要用水晶报表来实现:)
    bitsbird(一瓢 闭关) component one控件这个控件是免费的吗?在什么地方能找到?先谢谢了.
    jinbingg(bing) 这个方法是先建立数据源,然后建立表字段,在程序中赋值,水晶报表里对这些字段来操作,如果用户随便的想画出几年的销售图,我们定义一张表来循环赋值,水晶报表能自动的在一张图上画出几年的图,还是只能画出我们最后赋值给字段的图?忘能一起讨论研究:)先给大家分,分不够继续开贴:)