我不知道下面的代码片段是否打算以这种方式工作,因为有时我们“作为开发人员”尝试自动创建数据显示控件,其中字段数量不受控制并且具有类似的数据绑定,所以在我查看应用程序之前有些人留下了这个:
根据ActiveReport_ReportStart()
事件:
for (Ind = 1; Ind <=CM.Length; Ind++) {
if (Ind == 1) {
Left = ((Line)rpt.Sections["PageHeader"].Controls["lnH8"]).Left + 0.05f;
} else if (Ind == 2) {
Left = ((Line)rpt.Sections["PageHeader"].Controls["lnH9"]).Left + 0.05f;
} else if (Ind == 3) {
Left = ((Line)rpt.Sections["PageHeader"].Controls["lnH10"]).Left + 0.05f;
}
TextBox TB = new TextBox();
TB.Size = ((Label)rpt.Sections["PageHeader"].Controls["tbColorway1"]).Size;
TB.Font = ((Label)rpt.Sections["PageHeader"].Controls["tbColorway1"]).Font;
TB.Width = ((Label)rpt.Sections["PageHeader"].Controls["tbColorway1"]).Width;
TB.Height = ((Label)rpt.Sections["PageHeader"].Controls["tbColorway1"]).Height;
TB.VerticalAlignment = VerticalTextAlignment.Top;
TB.Location = new System.Drawing.PointF(Left, ((Label)rpt.Sections["PageHeader"].Controls["tbColorway1"]).Top);
TB.DataField = "ColorText" + Ind + ColorwayNumber;
rpt.Sections["Detail"].Controls.Add(TB);
预览时没有编译错误,其他未自动生成的字段也正确显示(ReporHeader,ReportFooter),但恕我直言,我认为最好用详细部分内的子报告替换此机制,当然这些字段必须显示在报告的详细信息部分。无论如何,我希望看到一些建议,因为如果可以在运行时自动生成文本框或标签,我将不得不向老板解释为什么这段代码不起作用,如果我必须使用子报告,我需要知道如何传递参数(至少我需要使用两个参数来为其生成另一个sql查询)以及将脚本放入其中的“事件”是合适的。
在我发现最重要的问题是通过在运行时添加多少字段/文本框来更改报告格式以报告受 sqlquery 返回值限制的详细信息后,例如:
- 返回的 SQLQuery 值 = 4
- 为详细的第 1 行生成 10 个字段
- 第 2 行的 6 个字段
- 第 3 行的 4 个字段
详细信息字段绑定到 SQL 存储过程*
报告将以这种方式打印/显示:
//Report Init
第 1 页: |字段 1|字段 2|字段 3|字段 4| -------------------------------------------------- ---- 第 1 行 | valA1 | valA2 | valA3 | valA4 | -------------------------------------------------- ---- 第 2 行 | valB1 | valB2 | valB3 | valB4 | -------------------------------------------------- ---- 第 3 行 | valC1 | valC2 | valC3 | valC4 | -------------------------------------------------- ---- 第2页 : |字段 1|字段 2|字段 3|字段 4| -------------------------------------------------- ---- 第 1 行 | valA5 | valA6 | valA7 | valA8 | -------------------------------------------------- ---- 第 2 行 | valB5 | valB6 | -------------------------------------------------- ---- 第 3 行 -------------------------------------------------- ---- 第 3 页: |字段 1|字段 2|字段 3|字段 4| -------------------------------------------------- ---- 第 1 行 | valA9 | valA10| -------------------------------------------------- ---- 第 2 行 -------------------------------------------------- ---- 第 3 行 -------------------------------------------------- ----
//End of Report
任何帮助将不胜感激
非常感谢