如何在Salesforce中实现字段集数组

如何在Salesforce中实现字段集数组,salesforce,Salesforce,我有一个自定义对象(零件订单),它创建零件订单。每个行项目有3个字段(零件类型、数量和零件号),对于每个零件订单,最多可以有10个行项目。我似乎找不到一个好办法来实现这一点。我想一种方法是创建30个单独的字段,但我忍不住觉得必须有更好的方法。我可以将这3个字段放入一个字段集中,但是有没有办法将一个字段集数组放入一个页面中?如果有任何其他建议,我将不胜感激。如果您提到“字段集”,您可以通过如下循环在VisualForce中输出它们: <apex:repeat value="{!$Object

我有一个自定义对象(零件订单),它创建零件订单。每个行项目有3个字段(零件类型、数量和零件号),对于每个零件订单,最多可以有10个行项目。我似乎找不到一个好办法来实现这一点。我想一种方法是创建30个单独的字段,但我忍不住觉得必须有更好的方法。我可以将这3个字段放入一个字段集中,但是有没有办法将一个字段集数组放入一个页面中?如果有任何其他建议,我将不胜感激。

如果您提到“字段集”,您可以通过如下循环在VisualForce中输出它们:

<apex:repeat value="{!$ObjectType.Object__c.FieldSets.FieldSet1}" var="f">
<apex:outputField value="{!currentObject[f]}" />
<apex:inputField value="{!currentObject[f]}" required="{!f.required}" />
</apex:repeat>

<apex:repeat value="{!$ObjectType.Object__c.FieldSets.FieldSet2}" var="f">
<apex:outputField value="{!currentObject[f]}" />
<apex:inputField value="{!currentObject[f]}" required="{!f.required}" />
</apex:repeat>

<apex:repeat value="{!$ObjectType.Object__c.FieldSets.FieldSet2}" var="f">
<apex:outputField value="{!currentObject[f]}" />
<apex:inputField value="{!currentObject[f]}" required="{!f.required}" />
</apex:repeat>

其中,
FieldSet1..n
是与页面的当前对象类型关联的字段集的名称,
Object\uu c
可以是任何标准或自定义sObject

根据
recordtype
或创建该对象的任何其他条件,可以混合和匹配“已渲染”而不是“已渲染”的任何子集

但是,关于创建第二个对象的注释可能更简洁,请记住跨多个对象关系进行报告有点困难


如果您使用标准VF页面,我建议您使用多个记录类型,每个记录类型都有自己的页面布局。

由于一个零件订单可能有多个行项目,您应该创建一个零件订单行项目对象,它是零件订单的子项(就像Opportunity和OpportunityLineItem一样)


要了解如何创建一个多编辑页面,以便人们可以轻松地一次添加/编辑多个行项目,您应该查看文档中的优秀内容。

正如Griforce所说,您需要一个行项目自定义对象来表示订单和正在订购的项目之间的关系。这种对象称为自定义连接对象。使用自定义连接对象比使用10个查找字段更具可伸缩性;如果你明年需要20行呢?您可以很快用完查找字段


当前的force.com工作簿将指导您创建此类仓库应用程序。在教程2的步骤2中介绍了行项目对象

零件订单行项目是否有单独的对象?听起来这正是你需要的。格里福斯-你在这里很合适,我建议你写下来作为答案!我真的很感谢所有的反馈!我确实创建了一个单独的行项目对象作为相关列表,但我没有(oops)将其提升到下一个级别。我将阅读所有建议的文档。再次感谢!