如何在RDLC运行时中在Tablix中添加列

时间:2015-04-23 13:02:59

标签: c# .net rdlc desktop-application dynamic-rdlc-generation

这是一个Windows桌面应用程序。我在rdlc中使用List<>作为data

以下是代码。

public class Balance_Party
{
    public string Name { get; set; }
    public double Amount { get; set; }

    public static List<Balance_Party> GetPartyBalance()
    {
        List<Balance_Party> list = new List<Balance_Party>();

        string qry = "SELECT " + 
            "[PRTY_NAME] AS NAME,[PRTY_AMOUNT] AS AMOUNT " + 
            "FROM [PARTY_MSTR]";
        DataTable dt = globalData.q.select(qry, globalData.connectionstring);

        list = (from DataRow row in dt.Rows

                    select new Balance_Party
                    {
                        Name = row["NAME"].ToString() == string.Empty ? " " : row["NAME"].ToString(),
                        Amount = row["AMOUNT"].ToString() == string.Empty ? 0 : Convert.ToDouble(row["AMOUNT"].ToString())
                    }).ToList();
        return list;
    }
}

Report_Viewer表单中,我按照以下方式加载List<>

Microsoft.Reporting.WinForms.ReportDataSource dataset1
            = new Microsoft.Reporting.WinForms.ReportDataSource();

this.reportViewer.LocalReport.DataSources.Clear();
        this.reportViewer.LocalReport.ReportEmbeddedResource = "Report";
var list1 = Balance_Party.GetPartyBalance();
dataset1 = new Microsoft.Reporting.WinForms.ReportDataSource("Balance_Party", list1);
dataset1.Value = list1;

this.reportViewer.LocalReport.DataSources.Add(dataset1);
this.reportViewer.LocalReport.Refresh();
this.reportViewer.RefreshReport();

我在ReportData添加Tablix后添加RDLC,添加报告数据 - Add DataSet -> Choose datasource -> chose the Class Balance_Party -> load it to tablix

现在,其中一个报告引发了一个问题,即需要在已显示数据集的tablix中添加列运行时间。怎么做?如何在任何Tablix中添加列运行时。?

编辑: - 添加列的目的是,假设报告是关于每方的总销售额。现在如果一方为另一种类型的商品做生意会怎么样。

E.g。第一列是Party,第二列是一个项目的总销售额,如铅笔。现在有些派对开始销售圆珠笔。所以在设计师中我只添加了一列。现在我需要额外的圆珠笔专栏。在我的电脑上,我可以重新设置报告,但在客户端的电脑上,这是不可能的。

0 个答案:

没有答案