谢谢阅读我的问题。在我的工作中,我们正在寻找一种报告工具。到目前为止,Crystal Reports 一直是您的选择。原因是开发简单快速。我们想创建自己的应用程序,例如 Central Reports。我需要知道,如果我可以创建一个分组泛型类。我知道 Crystal Reports 提供了分组选择的可能性,但是一次只能用于一个报表。我们有很多客户(平均 80 个),许多报告(每个客户 20-30 个)。所以,是的,只有两个人很难维持大约 1600-2400 份报告。
背后的概念是:对于每个客户,我们在数据库中都有一个文本,这个文本是一个包含报告所需信息的视图。所以我们可以有一份报告,显示给客户的不同信息。为多个客户提供一个布局,这是新项目的一部分,我发现这种方式可以消除对多个布局的需求,并且能够将所有布局聚合到一个应用程序中。
这堂课会做什么?
它将获取文本,分析字段,并基于此分析发送一个显示分组可能性的窗口表单。Crystal Reports 已经这样做了,但是您必须为每个报表手动设置分组和公式选项。我们能否创建一个可以自动完成这项工作的类?
更新:
对于动态列选择,我得到了这个解决方案:
if (chbCode.Checked)
{
columnNo++;
query = query.Insert(query.Length, "Codinome as Column" +
columnNo.ToString());
paramField = new ParameterField();
paramField.Name = "col" + columnNo.ToString();
paramDiscreteValue = new ParameterDiscreteValue();
paramDiscreteValue.Value = "Codinome";
paramField.CurrentValues.Add(paramDiscreteValue);
//Add the paramField to paramFields
paramFields.Add(paramField);
}
if (chbFirstName.Checked)
{
columnNo++;
if (query.Contains("Column"))
{
query = query.Insert(query.Length, ", ");
}
query = query.Insert(query.Length, "NomeEmpresa as Column" +
columnNo.ToString());
paramField = new ParameterField();
paramField.Name = "col" + columnNo.ToString();
paramDiscreteValue = new ParameterDiscreteValue();
paramDiscreteValue.Value = "Nome da Empresa";
paramField.CurrentValues.Add(paramDiscreteValue);
//Add the paramField to paramFields
paramFields.Add(paramField);
}
所以我有这个初始表格,只是为了测试。它丑陋,我知道;D. 左边是复选框。对于每个复选框,报告上都有一个参数字段。这是我得到这个想法的链接:http: //www.codeproject.com/Articles/20670/Dynamic-Crystal-Report-with-C?fid= 466537&tid=3776908
我要感谢属于这个伟大社区的每一个人,最好的问候,迭戈。