打印按钮的代码如下,但是处理完后crystalReportViewer的对象打印预览只是一片空白,ds.table[0]显示没有数据,不知为何数据获取不了,请问如何解决呢
private void button1_Click_1(object sender, EventArgs e)
{
Form_ClystylePrint frm_print = new Form_ClystylePrint();
MyData mydata = new MyData();
SqlConnection cn = mydata.getConn();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cn.Open();
cmd.CommandText = "select examiner 考官,car_shool 驾校,car 车牌号,car_type 车型,students_num 预约人数,table_maker 制表人 from Arrange_Table where exam_date = getdate()";
SqlDataAdapter sda = new SqlDataAdapter(cmd.CommandText, cn);
DataSet ds = new DataSet();
sda.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
CrystalReport1 rpt1 = new CrystalReport1();
rpt1.SetDataSource( ds.Tables[0]);//设置报表页面数据源
frm_print.crystalReportViewer1.ReportSource = rpt1;
cn.Close();
cmd.Dispose();
frm_print.Show();
}
是不是你的那个sql文本来检索出来就没有数据呢
不太清楚,datagridview上是有的,我原来的目的就是想把打他datagridview上的数据用水晶报表打印的
已经试过下面的方法,可以解决问题 ,然后你再注意一下排版问题(数据串行)就OK了 接豆哈哈
private void Form1_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=wygl_pb;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "SELECT [WaterTypeID] ,[BasePrice] ,[IsExecuting] FROM [wygl_pb].[dbo].[wygl_charge_WaterChargeStandard]";
SqlDataAdapter sda = new SqlDataAdapter(cmd.CommandText, conn);
DataSet ds = new DataSet();
sda.Fill(ds, "mytable");
CrystalReport1 myReport = new CrystalReport1();
myReport.Load(Application.StartupPath + "CrystalReport1.rpt");
myReport.SetDataSource(ds);
crystalReportViewer1.ReportSource = myReport;
}
这是Form例子 哈哈
我想具体知道datagridview怎么用水晶列表打印,能教下么
我按您的试了下,还是不行额,貌似一开始数据就没有进来,不知道是什么原因
可能是 你没有添加DataSet.xsd 然后报表里原来就没有表,你参考一下下面的内容可能对你有帮助
http://topic.csdn.net/u/20090626/18/0e7d0af0-2555-479d-9cb5-84175787f2cd.html?11036
这个看了下,但是貌似没有提及datagridview的转换,能指导下么