FastReport.Report report = new FastReport.Report();
report.FileName = @"C:\\2.frx";
DataSet ds = new DataSet();
using (SqlConnection con = new SqlConnection("server=.;DataBase=Bank;Integrated Security=True"))
{
con.Open();
using (SqlDataAdapter sda = new SqlDataAdapter("Select * from Users where UserId='2'", con))
{
DataTable dt = new DataTable();
sda.Fill(dt);
ds.Tables.Add(dt);
}
}
report.Clear();
ds.Tables[0].TableName = "Table1";
report.Load(@"D:\2.frx");
report.RegisterData(ds);
report.GetDataSource(ds.Tables[0].TableName).Enabled = true;
report.Show();
把一条记录数据填充给DataSet对象,然后用report.RegisterData(ds);给报表赋数据源。
但是运行后显示的数据并不是这一条而已,而是会显示表里所有数据。为什么呢。
报表的模板文件里就一个Table,里面新增了一个sql连接。
如图。