好的,首先从表中创建子查询。例如您的ProductsWithouDescription
并SortedProducts
通过右键单击表和“添加查询”。(国家应该相当于你的“标题”表)
为查询命名,然后将参数添加到您需要的任何类型的查询中。
现在为它写一些代码:(这里的国家是我正在使用的表)
请注意,您的 NewParameter 现在是您的方法的“参数”。这将过滤此查询以仅显示CountryName
等于参数的记录。您可以根据需要拥有任意数量的参数。
现在将该数据项添加到您的屏幕。
然后添加您需要的类型的新属性。(它也在添加数据项下)
我建议您取消选中Is required。
这是我的屏幕的基本查询布局。我以表Locations为例,因为每个位置在我的数据模型中都有一个国家/地区。Locations 应该相当于 Customer 表。如果我展开位置(您的客户)表,我会注意到我无法直接添加新创建的查询。还要注意现在显示了 Created 属性。
如果您在左侧展开新查询,您将在底部看到参数。
单击它,进入其属性 (F4) 并将参数映射到新创建的属性。
现在您的过滤参数由我们刚刚创建的属性设置。
现在,您必须先设置属性,然后该查询才能显示任何内容。下面是如何做到这一点:
选择您的客户(我的是位置)表并在左上角单击旁边的向下箭头以编写代码并选择“SelectionChanged”方法:
现在写一些代码:
这里我的显示字符串是位置的计算字段。因此,每次您在位置网格中选择某些内容时,它都会使用该“DisplayString”来过滤“MynewFavoriteQuery”。
需要注意的一些事项:
如果您为子查询设置参数Optional,只要属性为NULL ,查询就会显示所有内容而不进行过滤。(实际上我不确定这个,因为我使用它有点不同,但你可以玩它看看你得到了什么)
如果您将属性设置为必需,如果该属性设置为 null,则会导致屏幕上出现验证错误。
您可能还需要对此进行微调,因为在创建屏幕时该属性始终初始化为 null。您可以在第一次生成屏幕时在编写代码中编辑“ScreeCreated”方法,以便为该属性设置一些值。
如果您有任何问题,请告诉我。