You need to sign in to do that
Don't have an account?
Jacob Elliott 8
Visualforce use single click with select list in inline-edit
Is there a way to allow the user to single click to open the select, and then single click to select a value?
I have a table with a "Pay?" column that is a select list field that uses inline-edit on dbl click, which works, but I would like it to work on a single click. Unfortunately, when I change the event to onclick, it will open up the select box but toggle off and on when I try to select a value because I am using a single click on the cell.
Is there a way to allow the user to single click to open the select, and then single click to select a value?
Page:
Controller:
I have a table with a "Pay?" column that is a select list field that uses inline-edit on dbl click, which works, but I would like it to work on a single click. Unfortunately, when I change the event to onclick, it will open up the select box but toggle off and on when I try to select a value because I am using a single click on the cell.
Is there a way to allow the user to single click to open the select, and then single click to select a value?
Page:
<apex:page controller="DTTestPageController" lightningStylesheets="true"> <apex:pageMessages /> <apex:form id="form"> <apex:pageBlock mode="inlineEdit" id="pageblock1"> <div id="header" class="headerborder"> <p id="title">DT Worksheet</p> <p id="select"> <apex:selectList size="1" id="filter" value="{!pickValue}"> <apex:actionSupport event="onchange" action="{!GetMedicals}" rerender="table1"/> <apex:selectOption itemLabel="All" itemValue="All" ></apex:selectOption> <apex:selectOption itemLabel="Needs Review" itemValue="Review" ></apex:selectOption> <apex:selectOption itemLabel="Pay" itemValue="Pay"></apex:selectOption> <apex:selectOption itemLabel="Don't Pay" itemValue="Dont Pay"></apex:selectOption> </apex:selectList> <apex:commandButton id="alert" value="Alert" rerender="" action="{!alertUser}"/> </p> </div> <apex:pageBlockButtons location="bottom"> <apex:commandButton id="saveButton" value="Save" rerender="" action="{!saveme}"/> <apex:commandButton id="cancelButton" value="Cancel" rerender="table1"/> </apex:pageBlockButtons> <div class="tableborder" id="border"> <apex:pageBlockTable value="{!lstMedicals}" var="med" id="table1"> <apex:column headerValue="Medical Bill Number" headerClass="headerStyle"> <apex:actionRegion > <apex:outputLink value="/{!med.Id}" styleClass="link"> {!med.Name} </apex:outputLink> </apex:actionRegion> </apex:column> <apex:column headerValue="Provider" headerClass="headerStyle"> <apex:actionRegion > <apex:outputField value="{!med.Provider_Name__c}"> </apex:outputField> </apex:actionRegion> </apex:column> <apex:column headerValue="Pay?" headerClass="headerStyle" id="column1"> <apex:actionRegion id="actionRegion1"> <apex:outputField value="{!med.Disburse__c}" id="pay"> <apex:inlineEditSupport event="onClick" showOnEdit="saveButton,cancelButton"/> </apex:outputField> </apex:actionRegion> </apex:column> <apex:column headerValue="Notes" headerClass="headerStyle"> <apex:actionRegion > <apex:outputField value="{!med.Disbursement_Note__c}"> <apex:inlineEditSupport event="ondblClick" showOnEdit="saveButton,cancelButton" id="note"/> </apex:outputField> </apex:actionRegion> </apex:column> </apex:pageBlockTable> </div> </apex:pageBlock> </apex:form>
Controller:
public class DTTestPageController { /* private String sortOrder = 'LastName'; */ public string pickValue{get; set;} public litify_pm__Matter__c matterId{get; set;} public Id recordTypeId = Schema.SObjectType.Medical_Bill__c.getRecordTypeInfosByName().get('Medical').getRecordTypeId(); public list<Medical_Bill__c> lstMedicals{get; set;} public DTTestPageController(){ pickValue = 'All'; GetMedicals(); } public void GetMedicals() { matterId = [SELECT Id, litify_pm__Principal_Attorney__c, Litigation_Attorney__c FROM litify_pm__Matter__c WHERE Id = :ApexPages.currentPage().getParameters().get('id')]; if (pickValue == 'All') { lstMedicals = [Select Id, Name, Provider_Name__c, Disburse__c, Disbursement_Note__c from Medical_Bill__c WHERE Matter__c =: matterId.Id AND RecordTypeId =: recordTypeId]; } else if (pickValue == 'Review') { lstMedicals = [Select Id, Name, Provider_Name__c, Disburse__c, Disbursement_Note__c From Medical_Bill__c WHERE Matter__c =: matterId.Id AND RecordTypeId =: recordTypeId AND Disburse__c = null]; } else if (pickValue == 'Pay') { lstMedicals = [Select Id, Name, Provider_Name__c, Disburse__c, Disbursement_Note__c From Medical_Bill__c WHERE Matter__c =: matterId.Id AND RecordTypeId =: recordTypeId AND Disburse__c = 'Yes']; } else if (pickValue == 'Dont Pay') { lstMedicals = [Select Id, Name, Provider_Name__c, Disburse__c, Disbursement_Note__c From Medical_Bill__c WHERE Matter__c =: matterId.Id AND RecordTypeId =: recordTypeId AND Disburse__c = 'No']; } else { lstMedicals = [Select Id, Name, Provider_Name__c, Disburse__c, Disbursement_Note__c from Medical_Bill__c WHERE Matter__c =: matterId.Id AND RecordTypeId =: recordTypeId]; } } public pagereference saveme() { try { System.debug(lstMedicals); update lstMedicals; ApexPages.addmessage(new ApexPages.message(ApexPages.severity.CONFIRM,'Medical Bill List Updated!')); } catch(DmlException ex) { ApexPages.addMessages(ex); } return NULL; } /* public void sortByFirstName() { this.sortOrder = 'LastName'; } */ public void alertUser() { Id profileId=userinfo.getProfileId(); String profileName=[Select Id,Name from Profile where Id=:profileId].Name; Id ownerId; String assignedRole; String subject; if (profileName == 'Disbursements Team' || profileName == 'Disbursements Team Lead') { if (matterId.Litigation_Attorney__c == null) { ownerId = matterId.litify_pm__Principal_Attorney__c; } else { ownerId = matterId.Litigation_Attorney__c; } assignedRole = 'Attorney'; subject = 'Verify The List Of Medical Bills We Are Paying Is Correct'; } else { ownerId = '0056A000000mKxc'; assignedRole = 'Disbursements'; subject = 'The Attorny Has Reviewed The List of Medical Bills'; } Task taskRecord = new Task(); taskRecord.OwnerId = ownerId; taskRecord.Assigned_Role__c = assignedRole; taskRecord.Subject = subject; taskRecord.WhatId = matterId.Id; taskRecord.litify_pm__Matter__c = matterId.Id; taskRecord.ActivityDate = System.today(); taskRecord.Priority = 'Normal'; insert taskRecord; ApexPages.addmessage(new ApexPages.message(ApexPages.severity.CONFIRM,'Alert Sent!')); } }
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_compref_inlineEditSupport.htm
All Answers
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_compref_inlineEditSupport.htm