我参考http://www.xrss.cn/Info/12591.Html的方法来添加的,成功了,但是在 cr1.SetDataSource(table);
CrystalReportViewer1.ReportSource =cr1;
时候table就是查询到的记录,但显示出来的是表中所有记录怎么回事?
如:查询的是select * from tablename where time between xxx and xxx
显示的是select * from tablename
CrystalReportViewer1.ReportSource =cr1;
时候table就是查询到的记录,但显示出来的是表中所有记录怎么回事?
如:查询的是select * from tablename where time between xxx and xxx
显示的是select * from tablename
拖一个你要显示的表。就会自动生成个数据集。再改配置,写你的sql语句
如:sql1= select * from table1;
sql2 = select * from table2;
...
string strTable;
strSql = GetQuerySql();//动态获取sql语句,查询条件由界面输入
if (null == strSql) return;strTable = GetQueryTable();
if (null == strTable) return;MyMySql db = new MyMySql("localhost",db,uid,pwd);
if (null != db && db.connectDB())
{
if (db.sqlReadToDataSet(strSql, strTable))//将记录保存到dataset中
{
reportDocumnet = new CrystalReport1(); reportDocumnet = CreateReportDoc(nIndex, db.DataSet.Tables[0]);
//设置动态field
reportDocumnet.DataDefinition.FormulaFields[0].Text = "{table.field1}"
reportDocumnet.DataDefinition.FormulaFields[0].Text = "{table.field2}"
reportDocumnet.DataDefinition.FormulaFields[0].Text = "{table.field3}"
...
//隐藏其他列
for (int i = msgList.Count + 1; i <= reportDoc.DataDefinition.FormulaFields.Count; i++)
{
string str = "tField" + Convert.ToString(i);
TextObject tobj = (TextObject)reportDoc.ReportDefinition.ReportObjects[str];
tobj.Text = "";
} crystalReportViewer1.ReportSource = reportDocumnet[0];
}
string strSql;
string strTable;
strSql = GetQuerySql();//动态获取sql语句,查询条件由界面输入
if (null == strSql) return;strTable = GetQueryTable();
if (null == strTable) return;MyMySql db = new MyMySql("localhost",db,uid,pwd);
if (null != db && db.connectDB())
{
if (db.sqlReadToDataSet(strSql, strTable))//将记录保存到dataset中
{
reportDocumnet = new CrystalReport1();
//设置动态field
reportDocumnet.DataDefinition.FormulaFields[0].Text = "{table.field1}"
reportDocumnet.DataDefinition.FormulaFields[0].Text = "{table.field2}"
reportDocumnet.DataDefinition.FormulaFields[0].Text = "{table.field3}"
... reportDocumnet.SetDataSource(db.DataSet.Tables[0]); //设置数据源 crystalReportViewer1.ReportSource = reportDocumnet;
}
}报表中已经关联table表了,如果要输入查询条件为select * from table where field1 = 'xx';
报表显示的记录是table中所有的记录,郁闷?
整了一天也没解决方法,谁能帮我解决,另外我在送100分...