Eine Visualforce Seite zeigt alle Feiertage in diesem Jahr.
Jeder Feiertag entspricht einem Salesforce Objekt.
Die Liste wird dynamisch aufgebaut und ist somit unsortiert.
Der entsprechende Code sieht ungefähr so aus:
Mit dem Einsatz der sort() Methode und einer kleinen Anpassung der Wrapper Klasse wird die Liste nach Datum sortiert ausgegeben:
Einsatz von Comparable Interface
Jeder Feiertag entspricht einem Salesforce Objekt.
Die Liste wird dynamisch aufgebaut und ist somit unsortiert.
public list<HOLIDAYS> getHoliday(){ list<HOLIDAYS> lstHolidays = new list<HOLIDAYS>(); ... lstHolidays.add(new HOLIDAYS(obj, true)); ... return lstHolidays; }
/****************************** *** HOLIDAYS ****************************** public class HOLIDAYS{ public Holiday__c objHoliday{get; set;} public String holidayName{get; set;} public Id holidayId{get; set;} public String holidayDate{get; set;} public Decimal duration{get; set;} public Boolean isChecked{get; set;} public HOLIDAYS(Holiday__c h, Boolean isChecked){ this.objHoliday = h; this.holidayName = h.Name; this.holidayId = h.id; this.holidayDate = h.Date__c.format(); this.duration = h.Duration__c; this.isChecked = isChecked; } }
Mit dem Einsatz der sort() Methode und einer kleinen Anpassung der Wrapper Klasse wird die Liste nach Datum sortiert ausgegeben:
public list<HOLIDAYS> getHoliday(){ list<HOLIDAYS> lstHolidays = new list<HOLIDAYS>(); ... lstHolidays.add(new HOLIDAYS(obj, true)); ... lstHolidays.sort(); return lstHolidays; }
Einsatz von Comparable Interface
public class HOLIDAYS implements Comparable{ public Holiday__c objHoliday{get; set;} public String holidayName{get; set;} public Id holidayId{get; set;} public String holidayDate{get; set;} public Decimal duration{get; set;} public Boolean isChecked{get; set;} public HOLIDAYS(Holiday__c h, Boolean isChecked){ this.objHoliday = h; this.holidayName = h.Name; this.holidayId = h.id; this.holidayDate = h.Date__c.format(); this.duration = h.Duration__c; this.isChecked = isChecked; } // Compare holidays based on the date public Integer compareTo(Object compareTo) { HOLIDAYS compareToHoliday = (HOLIDAYS)compareTo; // The return value of 0 indicates that both elements are equal. Integer returnValue = 0; if (objHoliday.Date__c > compareToHoliday.objHoliday.Date__c) { // Set return value to a positive value. returnValue = 1; else if (objHoliday.Date__c < compareToHoliday.objHoliday.Date__c) { // Set return value to a negative value. returnValue = -1; } return returnValue; } }
Kommentare
Kommentar veröffentlichen