我有一个可视化强制页面,显示链接到所选父案例的当前子案例。
每个子案例都有一个专用复选框。
我需要只能为选定的子案例添加评论,而不是所有子案例。
<apex:outputText value="this is a test" rendered="false" />
<apex:datatable value="{!related}" var="rel" width="80%">
<apex:commandButton value="Save" action="{!save}"/>
<apex:column headervalue="Select" width="10%">
<apex:inputCheckbox value="{!rel.c.UpdateChildcases__c}"/><p/>
</apex:column>
<apex:column headervalue="Case Number" width="30%">
<apex:outputLink value="/{!rel.c.Id}" target="_blank">{!rel.casenumber}</apex:outputLink><p/>
</apex:column>
<apex:column headervalue="Account Name" width="30%">
<apex:outputLink value="/{!rel.Id}" target="_blank">{!rel.account.name}</apex:outputLink><p/>
</apex:column>
<apex:column headervalue="Subject" width="30%">
<apex:outputLink value="/{!rel.Id}" target="_blank">{!rel.subject}</apex:outputLink><p/>
</apex:column>
</apex:datatable>
<apex:commandButton value="Save" action="{!Save}" />
</apex:form>
</apex:page>
要插入的评论是从文本区域
中选取的public with sharing class ParentCases {
public List related {get; set;}
public String mysearchtext {get; set;}
public boolean selected {get; set;}
public ParentCases(ApexPages.StandardController std) {
selected = false;
Case cs = (Case) std.getRecord();
related = [select id, CaseNumber, Subject, description, Status, UpdateChildcases__c , child_update__c, account.name from Case where parentId = :cs.id];
}
public void Save() {
List<CaseComment> childCom = new List<CaseComment>();
for (integer i = 0; i < related.size(); i++) {
CaseComment newCom = new CaseComment();
newCom.CommentBody = mysearchtext;
newCom.IsPublished = TRUE;
newCom.ParentId = related[i].id;
childCom.add(newcom);
}
if (!childCom.isEmpty()) {
insert childCom;
}
}
}
这会更新所有子记录。我真的需要将插入限制为选定的插入。 ??
答案 0 :(得分:2)
在UpdateChildcases__c字段值的for循环检查中:
for (integer i = 0; i < related.size(); i++) {
if (related[i].UpdateChildcases__c) {
CaseComment newCom = new CaseComment();
newCom.CommentBody = mysearchtext;
newCom.IsPublished = TRUE;
newCom.ParentId = related[i].id;
childCom.add(newcom);
}
}
P.S。 here解释了如何在不使用Case的自定义布尔字段的情况下实现相同的效果。