Winforms怎么把dataGridView 里面的数据用水晶报表打印出来 Winforms怎么把dataGridView 里面的数据用水晶报表打印出来 dataGridView 里面的数据不是通过数据库得来的..谢谢各位大哥了... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那把dataGridView的数据直接传给水晶报表不就可以了嘛!private void Form1_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("name"); dt.Columns.Add("flag"); DataRow dr = dt.NewRow(); dr.ItemArray = new string[] { "ss", "1" }; dt.Rows.Add(dr); DataRow dr1 = dt.NewRow(); dr1.ItemArray = new string[] { "ss", "1" }; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2.ItemArray = new string[] { "ss", "0" }; dt.Rows.Add(dr2); this.dataGridView1.DataSource = dt; CrystalReportIn oRtp = new CrystalReportIn(); oRtp.SetDataSource(dt); crystalReportViewer1.ReportSource = oRtp; } 这样不行啊! 无法获取到DataTable 你到底是要把打印dataGridView里的内容还是要做水晶报表啊? 不是数据库取值那可能需要另一种方式了!在水晶报表中拖点文本框进去吧!然后自己再参照这代码修改修改!private void 打开ToolStripMenuItem_Click(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("name"); dt.Columns.Add("flag"); DataRow dr = dt.NewRow(); dr.ItemArray = new string[] { "ss", "1" }; dt.Rows.Add(dr); DataRow dr1 = dt.NewRow(); dr1.ItemArray = new string[] { "dd", "1" }; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2.ItemArray = new string[] { "ff", "0" }; dt.Rows.Add(dr2); //this.dataGridView1.DataSource = dt; CrystalReport1 cr = new CrystalReport1(); CrystalDecisions.CrystalReports.Engine.TextObject t = (CrystalDecisions.CrystalReports.Engine.TextObject)cr.ReportDefinition.ReportObjects["Text1"]; for(int i=0;i<dt.Rows.Count;i++) { t.Text+=dt.Rows[i].ItemArray[0].ToString(); } this.crystalReportViewer1.ReportSource = cr; } C# winform 中使用皮肤控件skinengine后,就不能设置窗体背景颜色了? 反编译DLL问题 XML遍历问题!!输出到页面 关于WCF以MTOM编码传输消息的奇怪问题 Socket线程池的问题!!!!!!!! “未将对象引用设置到对象的实例”这是为什么? 如何使datagrid中的列的输入像comboBox一样的方式,谢谢! 谁知道不用数据库修改密码的方法啊? DLL的event时间如何触发 关于多个textbox绑定在1 个textbox1_textchanged事件的操作问题 怎么修改thread执行的内容 关于C#连接Access数据库update其中数据的问题
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("flag");
DataRow dr = dt.NewRow();
dr.ItemArray = new string[] { "ss", "1" };
dt.Rows.Add(dr);
DataRow dr1 = dt.NewRow();
dr1.ItemArray = new string[] { "ss", "1" };
dt.Rows.Add(dr1);
DataRow dr2 = dt.NewRow();
dr2.ItemArray = new string[] { "ss", "0" };
dt.Rows.Add(dr2);
this.dataGridView1.DataSource = dt;
CrystalReportIn oRtp = new CrystalReportIn();
oRtp.SetDataSource(dt);
crystalReportViewer1.ReportSource = oRtp;
}
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("flag");
DataRow dr = dt.NewRow();
dr.ItemArray = new string[] { "ss", "1" };
dt.Rows.Add(dr);
DataRow dr1 = dt.NewRow();
dr1.ItemArray = new string[] { "dd", "1" };
dt.Rows.Add(dr1);
DataRow dr2 = dt.NewRow();
dr2.ItemArray = new string[] { "ff", "0" };
dt.Rows.Add(dr2);
//this.dataGridView1.DataSource = dt;
CrystalReport1 cr = new CrystalReport1();
CrystalDecisions.CrystalReports.Engine.TextObject t = (CrystalDecisions.CrystalReports.Engine.TextObject)cr.ReportDefinition.ReportObjects["Text1"];
for(int i=0;i<dt.Rows.Count;i++)
{
t.Text+=dt.Rows[i].ItemArray[0].ToString();
}
this.crystalReportViewer1.ReportSource = cr; }