4

我想为属于不同部分的各种组成员生成一张身份证。每个都有不同的格式,具体取决于用户选择的内容,例如

在此处输入图像描述

我还想要的是照片部分应该在用户想要的区域中进行调整,并且来自数据库的照片应该能够根据用户要求进行裁剪。

使用 Crystal Reports 是否可行。任何教程和指南都会有所帮助,因为我对使用 Crystal Reports 完全陌生。如果不使用 = Crystal Reports,其他最佳选择是什么。

请帮我获取动态生成的身份证。

4

4 回答 4

1

如果您想将其缩小为仅一份报告,您可以使用类似于 MD-Tech 建议的内容,但使用根据用户选择隐藏或显示的部分。

于 2011-05-09T13:43:58.067 回答
1

有三个选项:

  1. 两份报告——就像 MD-Tech 建议的那样。平均而言,两份报告更难维护。
  2. 一份报告/两部分 - 就像 BUkHix 建议的那样。您在两个单独的部分中创建所需的格式,然后使用参数隐藏/显示所需的部分
  3. 一份报告/两份子报告 - 这让您可以对格式进行最精细的控制。子报告的显示也可以通过参数控制。

在任何情况下,您都可以使用条件公式在 v 11.0 中控制图像的 X(距左边距的距离)。在 v 12.0 中,您还可以使用条件公式控制 Width 属性。条件公式可以引用参数字段,因此定位可以使用用户提供的值。

您还需要尝试使用图像类型,因为 Crystal Reports 支持有限的集合(肯定是 JPG 和 BMP)。

于 2011-05-09T14:42:06.283 回答
0

将其拆分为 2 个答案,传入的信息如此之多;首先加载单独的报告:

可以通过有条件地调用文档类的 Load() 函数来选择在运行时加载哪些报表。这方面的一个例子是(在 C++ 中):

ReportDocument myDocument = gcnew myDocument();
if(wideIDcard)
{
   myDocument->Load("wideIDCard.rpt");
}
else
{
   myDocument->Load("narrowIDCard.rpt");
}

其中布尔值wideIDCard是从前端的下拉框等设置的。然后可以将 ReportDocument myDocument 发送到报表查看器以查看该报表。

于 2011-05-16T09:01:22.053 回答
0

最快的方法是拥有 2 个单独的报告,然后根据用户选择将代码 Load() 设置为正确的报告,这将来自单独的 Windows 窗体。如果您需要将它作为一个单一的条目表单,则可以(尽管很困难)以使用它来设置报告的所有参数的方式创建此表单。

于 2011-05-09T12:02:27.437 回答