1.mdi不能调用模式窗体,那如果想实现类似与模式窗体的功能改怎么做??
2.每次运行水晶报表预览数据,总会跳出数据库连接。且每次还连接不上,但主报表预览可以 代码如下:
string strSelect = "select CheckDate,Contact,CheckCertificate,Name,Code,SerialNumber,ManufacturerID from Device,CheckLog where TaskID='325' and CheckLog.DeviceID=Device.ID ";
DBO.sqlconn.Open();
SqlDataAdapter da = new SqlDataAdapter(strSelect, DBO.sqlconn);
DataSet ds = new DataSet();
da.Fill(ds, "data");
string path = Application.StartupPath + @"\CertificateCrystalReport1.rpt";
rd.Load(path);
rd.Database.Tables[0].SetDataSource(ds.Tables["data"]); //对应报表设计的第一个数据表
//rd.SetDataSource(ds.Tables["data"]);
crystalReportViewer1.ReportSource = rd;
DBO.sqlconn.Close();
请达人们帮忙看看是哪里出了问题,或者是另外改怎么写。
2.每次运行水晶报表预览数据,总会跳出数据库连接。且每次还连接不上,但主报表预览可以 代码如下:
string strSelect = "select CheckDate,Contact,CheckCertificate,Name,Code,SerialNumber,ManufacturerID from Device,CheckLog where TaskID='325' and CheckLog.DeviceID=Device.ID ";
DBO.sqlconn.Open();
SqlDataAdapter da = new SqlDataAdapter(strSelect, DBO.sqlconn);
DataSet ds = new DataSet();
da.Fill(ds, "data");
string path = Application.StartupPath + @"\CertificateCrystalReport1.rpt";
rd.Load(path);
rd.Database.Tables[0].SetDataSource(ds.Tables["data"]); //对应报表设计的第一个数据表
//rd.SetDataSource(ds.Tables["data"]);
crystalReportViewer1.ReportSource = rd;
DBO.sqlconn.Close();
请达人们帮忙看看是哪里出了问题,或者是另外改怎么写。
string conStr="workstation id=localhost;Integrated Security=SSPI;Database=caiwubook;";
SqlConnection cn=new SqlConnection(conStr);
cn.Open();
//调用储存过程,计算当前会计期间的资产负债表
SqlCommand cmd=cn.CreateCommand();
int index=Convert.ToInt32(this.numericUpDown1.Value);
cmd.CommandText="exec sf_计算资产负债表 "+index.ToString();
cmd.ExecuteNonQuery();
//显示资产负债报表
string sql="select * from 资产负债表 where 会计期间='"+index.ToString()+"'";
SqlDataAdapter da=new SqlDataAdapter(sql,cn);
DataSet ds=new DataSet();
da.Fill(ds);
CrystalReport1 rpt=new CrystalReport1();
//连接报表数据源
rpt.SetDataSource(ds.Tables[0]);
crystalReportViewer1.ReportSource=rpt;
rptView.ReportSource = rptDoc;这二条语句需要正确的顺序,如果反了,就可能出现这种问题。
在水晶报表中加入两个表1和表2,然后按表1的字段分组就可以了如果无关联,可以把表2做在一个子报表里
c#中只要做setdatasource就可以了,不需要特殊处理
将两个datatable写入到一个dataset里即可
是不是理解错误,Mdi怎么可能不能显示模式窗体,
Form.ShowDialog()显示的就是模式窗体,关于MDI的一些设计可以参考这里,写的不错,浅谈Windows Forms应用程序模型
http://blog.csdn.net/zhzuo/archive/2008/07/23/2700053.aspx