String strConnection = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pan;Data Source=KING-L";
            SqlConnection objConnection = new SqlConnection(strConnection);
            String strSQL = "SELECT * FROM imgtable";
            SqlDataAdapter myAdapter = new SqlDataAdapter(strSQL, objConnection);
            DataSet ds = new DataSet();
            myAdapter.Fill(ds);
            objConnection.Open();
            CrystalReport1 mycRport = new CrystalReport1();
            mycRport.SetDataSource(ds.Tables[0]);
            this.crystalReportViewer1.ReportSource = mycRport;
            objConnection.Close();
我用了上面代码打印了imgtable上的全部内容,可是我只想打印dataGirdView上的内容,要怎么实现.因为dataGirdView上的内容有过滤过,不需要打印全部.
我在右边项目创建了个DataSet数据集,然后定义了全局变量
 DataView dv;
        private DataSet1.imgtableDataTable imgtable;
        private DataSet1TableAdapters.imgtableTableAdapter imgadter;
可是我放把mycRport.SetDataSource(ds.Tables[0])换成mycRport.SetDataSource(imgtable)时出错了.不知道要怎么弄?请高手指教

解决方案 »

  1.   

    还有个问题就是打印水晶报表是在另一个窗口,而dataGirdView是在另一个窗口,要怎么在报表的窗口调用dataGridView?
      

  2.   

    我这有一个Winform 中DataGridView打印的案例,非常方便!
    http://download.csdn.net/source/1021760
      

  3.   

    DataGridView的数据源哪里来的,你直接传给水晶报表啊!
    为什么还要创建dataset呢?
      

  4.   

    还有水晶报表里如何将字符串转换成金额?因为这个类型本来是money类型的,不知道到报表里怎么变成了字符串类型,搞到现在要写一个公式来计算.可是转换老是出错.请问要怎么转,这个问题完了就结了
      

  5.   

    sum(cdbl({imgtable.金额}))
    为什么这样写会提示"此处需要一个字段"?
    强制保存后运行也不正确.