Skip to main content
Emmanuel Corona ha fatto una domanda in #Visualforce
Hello!

I have this VFP and i would like to add checkboxes for every row and create and opportunity but, i can't figure out how to do it... any ideas?

I'll really appreciate your help!

<apex:page standardController="Account" extensions="OrderSummaryAccount" >

    <apex:form >

        <apex:pageBlock title="Summary of products and services">

            <apex:pageBlockTable value="{!os.accountServicesSummaries}" var="item">

              <apex:column headerValue="Service ID">{!item.ServiceId}</apex:column>

                <apex:column headerValue="Service Name">{!item.serviceName}</apex:column>

                <apex:column headerValue="Quantity">{!item.quantity}</apex:column>

                <apex:column headerValue="Price">  <apex:outputText value="{0,number,$⌗,⌗⌗⌗,⌗⌗⌗.00}"><apex:param value="{!item.price}" /></apex:outputText></apex:column>

            </apex:pageBlockTable>

        </apex:pageBlock>

    </apex:form>

</apex:page>

And this extension

public with sharing class OrderSummaryAccount {

    public OrderSummary os {get;set;}    

    

    public OrderSummaryAccount(ApexPages.StandardController stdController) {

        Account a = (Account) stdController.getRecord();

        os = OrderSummary.getOrderSummary(a.id);

    }

}

And this class

public class OrderSummary {

    public String accountId {get;set;}

    public List<AccountServicesSummaries> accountServicesSummaries {get;set;}

  public List<AccountNonBillablesSummaries> accountNonBillablesSummaries {get;set;}

  public List<AccountServiceLocationsSummaries> accountServiceLocationsSummaries {get;set;}   

    

    public OrderSummary(){

        accountId = '';

        accountServicesSummaries = new List<AccountServicesSummaries>();

        accountNonBillablesSummaries = new List<AccountNonBillablesSummaries>();

        accountServiceLocationsSummaries = new List<AccountServiceLocationsSummaries>();

    }

    

  public class AccountNonBillablesSummaries {

    public String id {get;set;}

    public String eqpId {get;set;}

    public String eqpName {get;set;}

  }

  public class AccountServicesSummaries {

    public String id {get;set;}

    public String serviceId {get;set;}

    public String serviceName {get;set;}

    public Double quantity {get;set;}

    public Double price {get;set;}

  }

  public class AccountServiceLocationsSummaries {

    public String id {get;set;}

    public String locationName {get;set;}

  }

  

  public static OrderSummary parse(String json) {

    return (OrderSummary) System.JSON.deserialize(json, OrderSummary.class);

  }

    

    public static OrderSummary getOrderSummary(String accountId){

        

        OrderSummary r = new OrderSummary();

        

        Http http = new Http();

    HttpRequest request = new HttpRequest();

    request.setEndpoint('https://provision-gateway.develop.embrix.org/getOrderSummaryByAccountId');

    request.setMethod('POST');

        // Set the body as a JSON object

        request.setHeader('Content-Type', 'application/json;charset=UTF-8');

        request.setBody('{"accountId":"'+accountId+'"}');

    HttpResponse response = http.send(request);

    // If the request is successful, parse the JSON response.

        if (response.getStatusCode() == 200) {

            // Deserialize the JSON string into collections of primitive data types.

            r = parse(response.getBody());

            // Cast the values in the 'animals' key as a list            

    }

        return r;

    }

}
1 risposta
  1. 11 giu 2021, 12:29
    Hi ECorona,

    Greeting!

    To create a button in Visualforce you can try this

    <apex:column >

    <apex:commandButton>

    <apex:outputfield value="{//action you want to perform or any URL}"/>

    </apex:commandButton>

    </apex:column>

    If you find your solution mark this as the best answer.

    Thank you!

    Regards,

    Suraj Tripathi
0/9000