You need to sign in to do that
Don't have an account?
Doondi
Column sorting and alpha sorting are conflicting
Hi,
I have below code for custom list view
I am using this class as extension
When column sorting works, the alpha sort doens't work. and vice versa
any anyone tell where I am goinng wrong?
I have below code for custom list view
I am using this class as extension
When column sorting works, the alpha sort doens't work. and vice versa
any anyone tell where I am goinng wrong?
public class AccountListViewController { public static string Selectedview{get;set;} private Integer total; //column sorting private List<Accounting__c> accounts; private String sortDirection = 'ASC'; private String sortExp = 'name'; //public static string Selectedview{get;set;} public static integer PageSize {get;set;} //private Integer total; private string inputQuery = 'Select Name, Account_Name__c, Account_Category__c, Statement_Type__c from Accounting__c '; public AccountListViewController(ApexPages.StandardSetController controller ){ Selectedview='All'; PageSize = 25; accounts = Database.query(inputQuery + 'limit '+ PageSize); } //column sorting start public String sortExpression { get { return sortExp; } set { //if the column is clicked on then switch between Ascending and Descending modes if (value == sortExp) sortDirection = (sortDirection == 'ASC')? 'DESC' : 'ASC'; else sortDirection = 'ASC'; sortExp = value; System.debug('Hi'+sortExp+' '+sortExp +'!'); } } public String getSortDirection() { //if not column is selected if (sortExpression == null || sortExpression == '') return 'ASC'; else return sortDirection; } public void setSortDirection(String value) { sortDirection = value; system.debug('value'+''+value); } public List<Accounting__c> getAccounts() { return accounts; } public PageReference ViewData() { //build the full sort expression string sortFullExp = sortExpression + ' ' + sortDirection; //query the database based on the sort expression accounts = Database.query(inputQuery + ' order by ' + sortFullExp + ' limit ' + PageSize); system.debug('srini'+''+'srini'); return null; } public PageReference PageSizeData() { PageSize = 25; system.debug('pagesize'+''+'pagesize'); return null; } public Integer getTotal() { total = [SELECT count() FROM Accounting__c]; system.debug('total'); return total; } //column sorting ending list<Accounting__c> acclist = [Select Name, Account_Name__c, Account_Category__c, Statement_Type__c from accounting__c]; public list<String> alphabet{ get{ //To display a list of alphabets on vf page alphabet = new list<string>{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','Others','All'}; return alphabet; } set; } public String alphaSearchAcc{get;set;} // To get commandlink parameter for alphabet selected public Pagereference getalphaSearch(){ //To update account list as per the alphabet selected by the user if (alphaSearchAcc=='All'){ system.debug('All'); accList = [Select Name, Account_Name__c, Account_Category__c, Statement_Type__c from Accounting__c]; system.debug('acclist'); } else{ accList = [Select Name, Account_Name__c, Account_Category__c, Statement_Type__c from Accounting__c WHERE Name LIKE :('%' + alphaSearchAcc + '%') ]; system.debug('acclist'); } ApexPages.StandardSetController ssc = new ApexPages.StandardSetController(accList); // stdSetController= ssc; return null; } }