Skip to main content
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:

<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!'));

}

}

​​​​​​​​​​​​​​
1 Antwort
0/9000