在网上看了阿泰的贴子,关于水晶报表的推与拉:
http://topic.youkuaiyun.com/u/20090713/01/15a1a826-b3d9-45f9-9557-c278245176fa.html
下面有个我自己设置的水晶报表参照了下有点二不像不知道是什么模式的,找位高手给分柝下。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace BDTC_SysTem
{
public partial class frmFinanceSumMonthDay : Form
{
public frmFinanceSumMonthDay()
{
InitializeComponent();
}
private DataSet ds = new DataSet();
private void frmFinanceSumMonthDay_Load(object sender, EventArgs e)
{
GetSumMonth(DateTime.Today);
}
private void GetSumMonth(DateTime mydate)
{
//FillCombboxClass fillsum = new FillCombboxClass();
string sql = "Select Createdate,prosumpack,prosumprice,prosumpaper,prosumfire,prosumpackprice,prosumbreakprice,prosumotherprice,(prosumprice+prosumpaper+prosumfire+prosumpackprice+prosumbreakprice+prosumotherprice) as sumall from summonthofstopackaging_view where year(createdate)="+mydate.Year+" and month(createdate)="+mydate.Month;
//DataTable dt= fillsum.SelectContent(sql);
//dataGridView1.DataSource = dt;
SqlConnection cn = new SqlConnection(Properties.Settings.Default.bdtcConnectionString);
try
{
cn.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, cn);
da.Fill(ds, "SumMOnthofStoPackagingAll_view");
dataGridView1.DataSource = ds.Tables["SumMOnthofStoPackagingAll_view"];
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
cn.Close();
}
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
GetSumMonth(dateTimePicker1.Value);
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
PrintFinanceSumMonth p = new PrintFinanceSumMonth();
p.SetDataSource(ds);
PrintViewFrm pv = new PrintViewFrm();
pv.SumFinanceMonth.ReportSource = p;
pv.ShowDialog();
}
}
}
在实例中使用了拉的方法取得数据库中的一个视图,并在报表中设置好位置。但在填充实例的时候是用了一个新dataset的表,表中的名称和视图名称是一样的。
现在就想问下这样的方式是pull还是push?或是二者结合?