当前位置:编程学习 > C#/ASP.NET >>

rdlc查询结果的问题

  var dt = new DataTable("CaseReport");
            dt.Columns.AddRange(new[]{
                    new DataColumn("Customer"),
                    new DataColumn("UserName"),
                    new DataColumn("TotalMoney"),
                    new DataColumn("Money1"),
                    new DataColumn("Time1"),
                    new DataColumn("Money2"),
                    new DataColumn("Time2"),
                    new DataColumn("Moeny3"),
                    new DataColumn("Time3"),
                    new DataColumn("Money4"),
                    new DataColumn("Time4"),
                    new DataColumn("Money5"),
                    new DataColumn("Time5"),
                    new DataColumn("Money6"),
                    new DataColumn("Time6"),
                    new DataColumn("NextMoney"),
                    new DataColumn("NextTime"),
                    new DataColumn("Remark"),
            });

            foreach (var row in pro)
            {
                var r = dt.NewRow();
                r.SetField(0, row.Information);
                r.SetField(1, row.UserName);
                r.SetField(2, row.TotalMoney);
                r.SetField(3, row.Money1);
                r.SetField(4, row.Time1);
                r.SetField(5, row.Money2);
                r.SetField(6, row.Time2);
                r.SetField(7, row.Moeny3);
                r.SetField(8, row.Time3);
                r.SetField(9, row.Money4);
                r.SetField(10, row.Time4);
                r.SetField(11, row.Money5);
                r.SetField(12, row.Time5);
                r.SetField(13, row.Money6);
                r.SetField(14, row.Time6);
                r.SetField(15, row.NextMoney);
                r.SetField(16, row.NextTime);
                r.SetField(17, row.Remark);
                dt.Rows.Add(r);
            }
            ReportViewer1.ProcessingMode = ProcessingMode.Local;
            ReportViewer1.LocalReport.DataSources.Clear();
            ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt));
            ReportViewer1.LocalReport.Refresh();


代码如下,最后的dt是3条记录,为什么显示的时候只显示一条记录呢?求教各位大神 --------------------编程问答--------------------
定义一个DataTable不如定义一个类:
public class Customer
{
public string cust_no {get;set;}
public string cust_name {get;set;}
...........
........

}

List<Customer> list = new List<Customer>();

foreach (var row in pro)
{
    Customer model = new Customer();
    model.Information=row.Information;
    model.UserName=row.UserName;
    ..........
....
    list.Add(model);
}
ReportViewer1.ProcessingMode = list;
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt));
ReportViewer1.LocalReport.Refresh();
--------------------编程问答-------------------- 是不是前端rdlc设计的没设置好? --------------------编程问答--------------------  调试走一下,代码似乎没问题   赞同一楼的,你直接给个model很麻烦吗? --------------------编程问答--------------------  rdlc设计的时候行有一个字段作为group,如果那个字段里的数据都一样就只有一条 --------------------编程问答--------------------
引用 1 楼 hdhai9451 的回复:
定义一个DataTable不如定义一个类:
public class Customer
{
public string cust_no {get;set;}
public string cust_name {get;set;}
...........
........

}

List<Customer> list = new List<Customer>();

foreach (var row in pro)
{
    Customer model = new Customer();
    model.Information=row.Information;
    model.UserName=row.UserName;
    ..........
....
    list.Add(model);
}
ReportViewer1.ProcessingMode = list;
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt));
ReportViewer1.LocalReport.Refresh();
我是你这样写的,问题找到了,谢谢大家,用表格控件就好了,开始用的矩阵
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,