You need to sign in to do that
Don't have an account?
TharunKumar
VisualForce TrailHead Error
Create a Visualforce page that uses a custom controller to display a list of cases with the status of 'New'.The page must be named 'NewCaseList'.
The custom controller Apex class must be named 'NewCaseListController'.
The 'NewCaseListController' Apex class must have a publically scoped method named 'getNewCases'.
The 'getNewCases' Apex method should have the return type of 'List' and return a list of case records with the ID and CaseNumber fields and filtered to only have a status of 'New'.
The 'NewCaseList' Visualforce page must use an apex:repeat component which is bound to 'newCases'.
The apex:repeat component must refer to the var attribute as 'case'.
Within the apex:repeat component, bind a apex:outputLink component to the ID of the case so that the page directs the user to the detail page of the respective case record.
I tried this code i am able to retrieve the case records and clicking on each record showing the detail page of that record.But Still Trail Head is showing error.Can someone guide me where I went wrong
VisualForce page:
<apex:page controller="NewCaseListController">
<apex:repeat value="{!newCases}" var="Case">
<li>
<apex:outputLink value="/{!Case.Id}">
{!Case.CaseNumber}
</apex:outputLink>
</li>
</apex:repeat>
</apex:page>
Custom Contoller:
public class NewCaseListController {
public static List<Case> getNewCases()
{
List<Case> caseList = new List<Case>();
for(Case ct: [Select Id, CaseNumber FROM Case WHERE Status = 'New'])
caseList.add(ct);
return caseList;
}
}
The custom controller Apex class must be named 'NewCaseListController'.
The 'NewCaseListController' Apex class must have a publically scoped method named 'getNewCases'.
The 'getNewCases' Apex method should have the return type of 'List' and return a list of case records with the ID and CaseNumber fields and filtered to only have a status of 'New'.
The 'NewCaseList' Visualforce page must use an apex:repeat component which is bound to 'newCases'.
The apex:repeat component must refer to the var attribute as 'case'.
Within the apex:repeat component, bind a apex:outputLink component to the ID of the case so that the page directs the user to the detail page of the respective case record.
I tried this code i am able to retrieve the case records and clicking on each record showing the detail page of that record.But Still Trail Head is showing error.Can someone guide me where I went wrong
VisualForce page:
<apex:page controller="NewCaseListController">
<apex:repeat value="{!newCases}" var="Case">
<li>
<apex:outputLink value="/{!Case.Id}">
{!Case.CaseNumber}
</apex:outputLink>
</li>
</apex:repeat>
</apex:page>
Custom Contoller:
public class NewCaseListController {
public static List<Case> getNewCases()
{
List<Case> caseList = new List<Case>();
for(Case ct: [Select Id, CaseNumber FROM Case WHERE Status = 'New'])
caseList.add(ct);
return caseList;
}
}
Remove the keyword 'static' from your method. as there is no need for that.
Let me know, if you need any other help.
Thanks,
Neetu
All Answers
<apex:outputLink value="/{!Case.Id}">
{!Case.CaseNumber}
</apex:outputLink>
to this:
<apex:outputLink value="/{!Case.Id}/e">
{!Case.CaseNumber}
</apex:outputLink>
As a common practice, if your question is answered, please choose 1 best answer.
But you can give every answer a thumb up if that answer is helpful to you.
Thanks
Remove the keyword 'static' from your method. as there is no need for that.
Let me know, if you need any other help.
Thanks,
Neetu