FastReport动态绑定只显示一条数据。

转自:https://www.cnblogs.com/zhaogaojian/p/8343295.html

产生这个问题的原因是因为需要把Band绑定DataSource.有两种方法

(1)DataBand data = report1.Report.FindObject("Data1") as DataBand;

data.DataSource = report1.Report.GetDataSource("Items");

(2)将report1.Show();改成report1.Design();然后选择数据源,然后保存报表。再把report1.Design()替换成report1.Show();

感谢轧钢机

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
private void button1_Click(object sender, EventArgs e)
        {
            DataSet FDataSet = new DataSet();
            DataTable table = new DataTable();
            table.TableName = "Items";
            FDataSet.Tables.Add(table);
            table.Columns.Add("No"typeof(int));
            table.Columns.Add("Name"typeof(string));
            table.Columns.Add("money"typeof(decimal));
            table.Rows.Add(0,"张三", 123.43);
            table.Rows.Add(1, "李四", 123.43);
            table.Rows.Add(2, "王五", 123.43);
            table.Rows.Add(3, "张龙", 123.43);
            table.Rows.Add(4, "赵虎", 123.43);
            table.Rows.Add(5,"李四", 223.43);
            FastReport.Report report1 = new FastReport.Report();
            try
            {
                report1.Load(@"C:\Users\zgj\Desktop\Untitled1.frx");
                report1.RegisterData(FDataSet);
                 
                report1.GetDataSource("Items").Enabled = true;
                DataBand data = report1.Report.FindObject("Data1"as DataBand;
                data.DataSource = report1.Report.GetDataSource("Items");
                 
                report1.Show();
                report1.Dispose();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                //throw;
            }
        }
posted @ 2021-07-01 10:20  吴土炮Jared  阅读(445)  评论(0编辑  收藏  举报