Forum Replies Created

Viewing 1 - 25 of 93 posts
  • Vikas Kumar

    Member
    May 15, 2017 at 5:09 am

    Hi Saurabh,
    To find out if a particular user has Edit access to a record, use the UserRecordAccess object. This object is available in API version 24.0 and later. You can use SOQL to query this object to find out if the user has edit access to the record in question.

    SELECT RecordId FROM UserRecordAccess WHERE UserId=:UserInfo.getUserId() AND HasReadAccess = true AND RecordId IN :allRecordIds LIMIT 200

    Hope it may helps you

    Thanks

     

  • Vikas Kumar

    Member
    March 23, 2017 at 3:00 pm

    Hi Manpreet,

    you can try something like this

    Page

    <apex:page controller="SearchJavascriptController">
    <html>
    <head>
    <style>

    * {
    box-sizing: border-box;
    }

    #myInput {
    background-image: url('/css/searchicon.png');
    background-position: 10px 10px;
    background-repeat: no-repeat;
    width: 100%;
    font-size: 16px;
    padding: 12px 20px 12px 40px;
    border: 1px solid #ddd;
    margin-bottom: 12px;
    }

    #myTable {
    border-collapse: collapse;
    width: 100%;
    border: 1px solid #ddd;
    font-size: 18px;
    }

    #myTable th, #myTable td {
    text-align: left;
    padding: 12px;
    }

    #myTable tr {
    border-bottom: 1px solid #ddd;
    }

    #myTable tr.header, #myTable tr:hover {
    background-color: #f1f1f1;
    }
    </style>
    </head>
    <body>

    <apex:form id="theForm">
    <apex:pageBlock >
    <h2>My Account</h2>
    <input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search for names.." title="Type in a name">
    </input>
    </apex:pageBlock>
    <table id="myTable">
    <tr>
    <th><h1> ACCOUNT NAME</h1></th>
    <th><h1> ACCOUNT ID</h1></th>
    <th><h1>ANNUAL REVENUE</h1></th>
    </tr>
    <apex:repeat value="{!accountList}" var="acc" id="theRepeat">
    <tr>
    <td>{!acc.name}</td>
    <td>{!acc.id}</td>
    <td>{!acc.AnnualRevenue}</td>
    </tr>
    </apex:repeat>
    </table>
    <script>
    function myFunction() {
    var input, filter, table, tr, td, i;
    input = document.getElementById("myInput");
    console.log(input);
    filter = input.value.toUpperCase();

    table = document.getElementById("myTable");
    tr = table.getElementsByTagName("tr");
    for (i = 0; i < tr.length; i++) {
    td = tr[i].getElementsByTagName("td")[0];
    if (td) {
    if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {

    tr[i].style.display = "";
    } else {
    tr[i].style.display = "none";
    }
    }
    }
    }
    </script>
    </apex:form>
    </body>
    </html>

    </apex:page>

    Controller

    public with sharing class SearchJavascriptController {

    public list<Account>accountlist { get; set; }
    public SearchJavascriptController()
    {
    accountList = new list<Account>();
    accountList =[Select Name,Id,AnnualRevenue From Account];
    }

    }

    thanks

  • Vikas Kumar

    Member
    February 17, 2017 at 6:04 am

    Hi sushant,

    Here is the sample example for your requirement

    function getRecordListJS() {
    Visualforce.remoting.Manager.invokeAction(
    '{!$RemoteAction.AccountRemoter.getRecordList}',
    recordName,
    function(lstresult, event){
    for (var n=0; n<lstresult.length; n++){
    var result = lstresult[n];
    },{escape: true});
    }

    Hope it may helps

  • Vikas Kumar

    Member
    February 17, 2017 at 6:00 am

    Hi sushant,

    You can do something like this

    public with sharing class ErrorMessageInVfController {
    public Account acc{get;set;}
    public ErrorMessageInVfController(ApexPages.StandardController controller) {
    acc = new Account();
    }

    public void save(){
    if(acc.name == '' || acc.name == null)
    ApexPages.addmessage(new ApexPages.message(ApexPages.severity.FATAL,'Please enter Account name'));

    if(acc.AccountNumber == '' || acc.AccountNumber == null)
    ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'Please enter Account number'));

    if(acc.phone == '' || acc.phone == null)
    ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'Please enter Account phone'));

    if(acc.site == '' || acc.site == null)
    ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,'Please enter Account site'));

    if(acc.industry == '' || acc.industry == null)
    ApexPages.addmessage(new ApexPages.message(ApexPages.severity.CONFIRM,'Please enter Account industry'));

    }
    }

    for details go through http://www.sfdcpoint.com/salesforce/show-error-message-visualforce-page/

  • Vikas Kumar

    Member
    February 17, 2017 at 5:57 am

    Hi sushant,

    Here are five benefits of connecting with customers through communities:

    1. Save Time

    By creating a community platform for customers to share, you give your customers access to not only your knowledge base, but other community members thoughts, as well as those of your employees and partners, offering the ability to combine your existing resources with crowd sourcing tips for much faster customer service outcomes.

    2. Save Money

    By connecting your customers to other highly engaged customers, you’ll decrease the amount of tough questions coming into your customer service center. Customers will answer each other’s questions. Every call not connected to a live agent is a penny saved.

    3. Enhance Products

    Include product developers with engaged customers for product ideation, feedback and beta testing.

    4. Strengthen Loyalty

    By having a stronger connection to your customers’ likes, wants, and purchase histories, you can tailor future product offerings and content to them. Getting that first sale is one thing, keeping them coming back as a matter of brand loyalty; that takes work.

    5. Drive Sales

    Being connected is about switching from offering services to offering solutions.  A stronger connection with a potential customer involves knowing more about them, their wants, their needs, their past purchases, their likely next purchases. You’ll be offering them solutions tailor-made to their needs so closing deals is more frequent.

  • Vikas Kumar

    Member
    February 14, 2017 at 7:48 am

    Hi pranav,

    EasilyDo - Sales Assistant to Automate Data Entry is used to scan the subject line and body of the email message in Salesforce.

    for more info :-https://appexchange.salesforce.com/listingDetail?listingId=a0N3000000B561eEAB

     

  • Vikas Kumar

    Member
    February 14, 2017 at 7:26 am

    Hi sushant,
    Data integration rules are provided by a data service to control how the service updates your Salesforce records. Rules tell the data service how to find records to update and which updates to make. Rules also control how updates affect other features, such as triggers and workflow rules.

    for more info go to :-https://help.salesforce.com/articleView?id=data_dot_com_clean_admin_set_up_clean_rules.htm&language=en_US&type=0

  • Vikas Kumar

    Member
    February 14, 2017 at 7:23 am

    Hi sushant,

    You could create a constructor for example:

    @isTest
    global class PuchaseWSMock_IsTest implements WebServiceMock {

    public String type;

    global PuchaseWSMock_IsTest(final String type){
    this.type = type;
    }

    global void doInvoke(Object stub,
    Object request,
    Map<String, Object> response,
    String endpoint,
    String soapAction,
    String requestName,
    String responseNS,
    String responseName,
    String responseType) {

    if(type == 'A'){
    //set response for web service method 1
    PurchaseWS.ProgramInfoResponse responseElementA = new PurchaseWS.ProgramInfoResponse();
    responseElement.AgreementID = 344;
    response.put('response_x', responseElementA);
    }
    //set response for web service method2?
    if(type == 'B'){
    //set response for web service method 2
    PurchaseWS.ProgramInfoResponse responseElementB = new PurchaseWS.ProgramInfoResponse();
    responseElement.AgreementID = 100;
    response.put('response_x', responseElementB);
    }
    }
    }

    Test method:
    static testMethod void myTestA() {
    Test.setMock(WebServiceMock.class, new PurchaseWSMock_IsTest('A'));

    Test.startTest();
    //call web service method 1
    Test.startTest();
    }

    static testMethod void myTestB() {
    Test.setMock(WebServiceMock.class, new PurchaseWSMock_IsTest('B'));

    Test.startTest();
    //call web service method 2
    Test.startTest();
    }

  • Vikas Kumar

    Member
    February 8, 2017 at 12:45 pm

    Hi gaurav;

    you can do something like this

    <apex:page StandardController="Contact" extensions="tstpopup1">

    <apex:form>

    <apex:commandButton action="{!runQuery}" value="Go"/>

    <apex:pageBlock >
    <apex:pageBlockSection columns="1">
    <apex:pageBlockTable value="{!accounts}" var="account">
    <apex:column headerValue="Name" value="{!account.name}/>
    <apex:column headerValue="Street" value="{!account.BillingStreet}"/>
    <apex:column headerValue="City" value="{!account.BillingCity}"/>
    <apex:column headerValue="Postcode" value="{!account.BillingPostalCode}"/>
    </apex:pageBlockTable>
    </apex:pageBlockSection>
    </apex:pageBlock>

    </apex:form>

    </apex:page>

    controller

    public with sharing class tstpopup1 {

    public List<Account> accounts {get; set;}

    public tstpopup1(ApexPages.StandardController str){
    accounts=new List<Account>();
    }

    public void runQuery() {
    List<List<Account>> searchResults=[FIND '1234'IN ALL FIELDS RETURNING Account (id, name, billingstreet, billingcity, billingpostalcode)];
    accounts=searchResults[0];
    //return null;
    }

    }

     

  • Vikas Kumar

    Member
    February 8, 2017 at 12:29 pm

    Hello sushant,

    Trigger factory implementation in Salesforce. Please check below post for code also
    1) http://www.infallibletechie.com/2015/12/trigger-factory-implementation-in.html
    2) http://salesforcecookcode.blogspot.in/2014/11/trigger-factory.html

    Please check below post for same trigger framwork
    1) http://amitsalesforce.blogspot.in/2015/06/trigger-best-practices-sample-trigger.html
    2) http://developer.force.com/cookbook/recipe/trigger-pattern-for-tidy-streamlined-bulkified-triggers

    1) One Trigger Per Object
    A single Apex Trigger is all you need for one particular object. If you develop multiple Triggers for a single object, you have no way of controlling the order of execution if those Triggers can run in the same contexts

    2) Logic-less Triggers
    If you write methods in your Triggers, those can’t be exposed for test purposes. You also can’t expose logic to be re-used anywhere else in your org.

    3) Context-Specific Handler Methods
    Create context-specific handler methods in Trigger handlers

    4) Bulkify your Code
    Bulkifying Apex code refers to the concept of making sure the code properly handles more than one record at a time.

    5) Avoid SOQL Queries or DML statements inside FOR Loops
    An individual Apex request gets a maximum of 100 SOQL queries before exceeding that governor limit. So if this trigger is invoked by a batch of more than 100 Account records, the governor limit will throw a runtime exception

    6) Using Collections, Streamlining Queries, and Efficient For Loops
    It is important to use Apex Collections to efficiently query data and store the data in memory. A combination of using collections and streamlining SOQL queries can substantially help writing efficient Apex code and avoid governor limits

    7) Querying Large Data Sets
    The total number of records that can be returned by SOQL queries in a request is 50,000. If returning a large set of queries causes you to exceed your heap limit, then a SOQL query for loop must be used instead. It can process multiple batches of records through the use of internal calls to query and queryMore

    8) Use @future Appropriately
    It is critical to write your Apex code to efficiently handle bulk or many records at a time. This is also true for asynchronous Apex methods (those annotated with the @future keyword). The differences between synchronous and asynchronous Apex can be found

    9) Avoid Hardcoding IDs
    When deploying Apex code between sandbox and production environments, or installing Force.com AppExchange packages, it is essential to avoid hardcoding IDs in the Apex code. By doing so, if the record IDs change between environments, the logic can dynamically identify the proper data to operate against and not fail

    Let us know if this will help you.

  • Vikas Kumar

    Member
    February 8, 2017 at 12:28 pm

    Hi Sushant,

    Just deserialize:

    public class Response { final Geometry geometry; }
    public class Geometry { final Location location; }
    public class Location { final Decimal latitude, longitude; }
    Granted, your JSON payload is not valid as currently specified. The above would work though if your structure boils down to:

    {
    "geometry": {
    "location": {
    "latitude": 0.0,
    "longitude": 0.0
    }
    },
    "other_properties": { /*values*/ }
    }

     

  • Vikas Kumar

    Member
    February 8, 2017 at 12:24 pm

    Hello sushant,

    you can do something like this

    Apex Class:

    public class EmployeeController {
    public static void assignSequence(List<Employee__c> listEmployee, Decimal startNum) {
    Decimal initial = startNum;
    List<EmployeeWrapper> listEmployeeWrapper = new List<EmployeeWrapper>();

    for(Employee__c emp : listEmployee) {
    listEmployeeWrapper.add(new EmployeeWrapper(emp));
    }

    listEmployeeWrapper.sort();
    listEmployee.clear();

    for(EmployeeWrapper empW : listEmployeeWrapper) {
    listEmployee.add(empW.dirPagination);
    }

    for(Employee__c emp : listEmployee) {
    emp.Sequence_in_Section__c = initial;
    initial = initial + 10;
    }

    update listEmployee;
    }

    public class EmployeeWrapper implements Comparable {

    public Employee__c emp = new Employee__c();

    // Constructor
    public EmployeeWrapper(Employee__c empRecord) {
    emp = empRecord;
    }

    // Compare emp based on the Employee__c Age__c.
    public Integer compareTo(Object compareTo) {
    // Cast argument to EmployeeWrapper
    EmployeeWrapper compareToEmp = (EmployeeWrapper)compareTo;

    // The return value of 0 indicates that both elements are equal.
    Integer returnValue = 0;
    if (emp.Age__c > compareToEmp.emp.Age__c) {
    // Set return value to a positive value.
    returnValue = 1;
    } else if (emp.Directory_Heading__c < compareToEmp.emp.Age__c) {
    // Set return value to a negative value.
    returnValue = -1;
    }

    return returnValue;
    }
    }
    }

    Test Class:

    private class EmployeeControllerTest {
    static testMethod void empTest() {
    Employee__c emp = new Employee__c(Name = 'Test', Age__c = 12);
    EmployeeController.EmployeeWrapper empW = new EmployeeController.EmployeeWrapper(emp); //Covering inner/wrapper class
    empW.compareTo(empW);
    //Covering compareTo()
    }
    }

    Hope it may help

  • Vikas Kumar

    Member
    February 8, 2017 at 12:21 pm

    Hi sushant;

    Home Page Component

    It Represents the metadata associated with a home page component. You can customize the Home tab to include components such as sidebar links, a company logo, a dashboard snapshot, or custom components that you create. For more information, see “Customizing Home Tab Page Layouts” in the Salesforce online help. This type extends the Metadata metadata type and inherits its fullName field. Use to create, update, or delete home page component definitions.

    for more detail check

    https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_homepagecomponent.htm

  • Vikas Kumar

    Member
    January 31, 2017 at 1:50 pm

    Hi Kumar,

    <apex:page standardController="Account" extensions="ContactsOnGoogleMapController" showHeader="false" sidebar="false" standardStylesheets="false">

    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>

    <script type="text/javascript">
    var mapicon = JSON.parse('{!contactJson}');
    var url = '';

    window.onload = function () {
    LoadMap();
    }
    function LoadMap() {
    var mapOptions = {
    center: new google.maps.LatLng(mapicon[0].lat, mapicon[0].lng),
    zoom: 15,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var infoWindow = new google.maps.InfoWindow();
    var latlngbounds = new google.maps.LatLngBounds();
    var map = new google.maps.Map(document.getElementById("dvMap"), mapOptions);

    for (var i = 0; i < mapicon.length; i++) {
    var data = mapicon[i]
    var myLatlng = new google.maps.LatLng(data.lat, data.lng);

    var image = {
    url: data.icon,
    size: new google.maps.Size(100, 65),
    origin: new google.maps.Point(0, 0),
    anchor: new google.maps.Point(17, 34),
    scaledSize: new google.maps.Size(65, 65)
    };

    if('null' == data.email){
    var marker = new google.maps.Marker({
    position: myLatlng,
    map: map,
    title: data.title,
    icon: image,
    contact: data.contact
    });
    }

    else{
    var marker = new google.maps.Marker({
    position: myLatlng,
    map: map,
    title: data.title,
    contact: data.contact
    });
    }
    (function (marker, data) {
    google.maps.event.addListener(marker, "click", function (e) {
    url = 'https://roopamalgo-dev-ed.my.salesforce.com/'+data.Id;
    infoWindow.setContent("<div style = 'width:100%;height:40%'><img width='60px' height='60px' align = 'middle' src = '" + data.icon + "' />&nbsp;&nbsp;<b>"+ data.title + "<b/><br/><a href='#' onclick='event.preventDefault();popup(url)';>LINK</a><br/>"+data.address+"</div>");
    infoWindow.open(map, marker);
    });
    })(marker, data);
    latlngbounds.extend(marker.position);
    }

    map.setCenter(latlngbounds.getCenter());
    map.fitBounds(latlngbounds);
    }

    function popup(url)
    {
    newwindow=window.open(url,'name','width=830,height=600,top=0,toolbar=no,personalbar=no,location=no,directories=no,statusbar=no,menubar=no,status=no,resizable=yes,left=60,screenX=350,top=100,screenY=100');
    if(window.focus){
    newwindow.focus();
    }
    url = '';
    }

    </script>

    <div id="dvMap" style="width: 100%; height: 300px">
    </div>

    </apex:page>

     

    Controller

    public class ContactsOnGoogleMapController {

    public String contactJson{get;set;}
    private Account acct;

    public ContactsOnGoogleMapController(ApexPages.StandardController controller){

    this.acct = (Account)controller.getRecord();
    List<Contact> conList = [select Id,Name,Email,Phone,GoogleLatitude__c,GoogleLongitude__c,MailingLatitude,MailingLongitude,MailingStreet,MailingCity,MailingState,MailingCountry,PhotoUrl from Contact where accountId = :acct.Id];

    String baseURL = 'https://ap2.salesforce.com';
    String coma = '';

    if(conList.size() > 0){
    contactJson = '[';

    for(Contact con : conList){
    contactJson += coma + '{\"title\":\"' + con.Name + '\",'+
    '\"lat\": \"' + con.GoogleLatitude__c + '\",'+
    '\"lng": \"' + con.GoogleLongitude__c +'\",'+
    '\"address\": \"' + con.MailingStreet +' '+ con.MailingCity +'<br/>'+ con.MailingState + '<br/>' +con.MailingCountry + '\",'+
    '\"contact\": \"' + con.Phone + '\",'+
    '\"email\": \"' + con.Email + '\",'+
    '\"Id\": \"' + con.Id + '\",'+
    '\"icon\": \"' + baseURL +''+ con.PhotoUrl + '\"}';

    coma = ',';
    }

    contactJson += ']';

    }
    }
    }

  • Vikas Kumar

    Member
    January 31, 2017 at 1:48 pm

    Hi Sushant,

    window.location.href returns the location of the current page.

    top.location.href (which is an alias of window.top.location.href) returns the location of the topmost window in the window hierarchy. If a window has no parent, top is a reference to itself (in other words, window === window.top).

    top is useful both when you're dealing with frames and when dealing with windows which have been opened by other pages.

  • Vikas Kumar

    Member
    January 27, 2017 at 6:49 am

    Hi sushant,

    Lightning Experience allows you to add your components to prime real estate in any Lightning app so that your users have one-click access to powerful productivity tools. Now, you can access those same productivity tools in a horizontal footer, called the utility bar.

    Lightning Experience allows you to add your components to prime real estate in any Lightning app so that your users have one-click
    access to powerful productivity tools. Now, you can access those same productivity tools in a horizontal footer, called the utility bar.
    The utility bar in Lightning Experience combines the best features from home page components in Salesforce Classic and the footer in
    Salesforce Classic console apps. The utility bar shows components in Lightning Experience so your users can easily access tools like
    Lightning Voice and Notes.

  • Vikas Kumar

    Member
    January 25, 2017 at 5:28 am

    Hi Tanu,

    You can set up an 'unzippedStaticResources' directory within your project where you store the unzipped version of your static resource. When you do an ant deploy, an ant task automatically zips up the contents and copies it to the staticresource directory before the deployment happens.

  • Vikas Kumar

    Member
    January 25, 2017 at 5:24 am
  • Vikas Kumar

    Member
    January 25, 2017 at 5:13 am

    Hi sushant,

    you can try something like this

    VF page

    <apex:page controller="LookupMainController">
    <apex:form >
    <apex:pageBlock title="Lookup">
    <apex:pageBlockSection columns="1">
    <apex:pageBlockSectionitem >
    <apex:outputLabel value="Account"/>
    <apex:outputPanel >
    <apex:inputHidden value="{!accountId}" id="targetId" />
    <apex:inputText size="40" value="{!accountName}" id="targetName" onFocus="this.blur()" disabled="false"/> <a href="#" onclick="openLookupPopup('{!$Component.targetName}', '{!$Component.targetId}'); return false">Lookup</a>
    </apex:outputPanel>
    </apex:pageBlockSectionitem>
    </apex:pageBlockSection>
    <apex:pageBlockSection >
    <apex:pageBlockSectionitem >
    <apex:commandButton value="Get Contacts" action="{!findContacts}"/>
    </apex:pageBlockSectionitem>

    </apex:pageBlockSection>
    </apex:pageBlock>
    <script>
    var newWin=null;
    function openLookupPopup(name, id)
    {
    var url="/apex/LookupExamplePopup?namefield=" + name + "&idfield=" + id;
    newWin=window.open(url, 'Popup','height=500,width=600,left=100,top=100,resizable=no,scrollbars=yes,toolbar=no,status=no');
    if (window.focus)
    {
    newWin.focus();
    }

    return false;
    }

    function closeLookupPopup()
    {
    if (null!=newWin)
    {
    newWin.close();
    }
    }
    function fillIn(name, id)
    {
    var winMain=window.open("https://vikas1st-dev-ed--vikasapp.ap2.visual.force.com/"+id);
    }
    </script>
    </apex:form>
    <apex:pageBlock >
    <apex:pageBlockSection >

    <apex:pageBlockTable value="{!contacts}" var="contact">

    <apex:column headerValue="LastName">
    <apex:outputLink value="#" onclick="fillIn('{!contact.LastName}', '{!contact.id}')">{!contact.LastName}</apex:outputLink>
    </apex:column>
    <apex:column headerValue="FirstName" value="{!contact.LastName}"/>

    </apex:pageBlockTable>

    </apex:pageBlockSection>
    </apex:pageBlock>
    </apex:page>

  • Vikas Kumar

    Member
    January 24, 2017 at 5:33 am

    Hi Pranav,

    You must create a wrapper class for whatever you wish to track. I'm not sure how it works, but somehow if you name a boolean variable "selected" in your wrapper class, it is mapped to the checkbox.

  • Vikas Kumar

    Member
    January 24, 2017 at 5:18 am

    Hi pranav ,

    public class RowWrapper
    {
    // the values (cells) making up this row
    public List<String> values {get; set;}

    // constructor
    public RowWrapper()
    {
    values=new List<String>();
    }

    // append a value (cell) to the row
    public void addValue(String value)
    {
    values.add(value);
    }
    }

    public List<Account> getAccounts()
    {
    if (null==accs)
    {
    accs=[select id, Name, BillingStreet, BillingCity, BillingPostalCode from Account
    where BillingCity != null and BillingPostalCode!=null limit 3];
    }

    return accs;
    }

    // retrieves the list of row wrappers
    public List<RowWrapper> getRowWrappers()
    {
    if (null==rows)
    {
    rows=new List<RowWrapper>();

    // create a row for each field - there are 4 of these, Name, Street, City and PostCode
    for (Integer idx=0; idx<4; idx++)
    {
    rows.add(new RowWrapper());
    }

    // iterate the accounts and populate the rows
    for (Integer idx=0; idx<getAccounts().size(); idx++)
    {
    rows[0].addValue(getAccounts()[idx].Name);
    rows[1].addValue(getAccounts()[idx].BillingStreet);
    rows[2].addValue(getAccounts()[idx].BillingCity);
    rows[3].addValue(getAccounts()[idx].BillingPostalCode);
    }
    }

    return rows;
    }

    Vf Page

    <table class="list" border="0" cellpadding="0" cellspacing="0">
    <tr class="headerRow ">
    <apex:repeat value="{!headWrap.values}" var="heading">
    <th class="headerRow ">
    {!heading}
    </th>
    </apex:repeat>
    </tr>
    <apex:repeat value="{!rowWrappers}" var="row">
    <tr>
    <apex:repeat value="{!row.values}" var="value">
    <td>
    {!value}
    </td>
    </apex:repeat>
    </tr>
    </apex:repeat>
    </table>

    Go through This Blog

    http://bobbuzzard.blogspot.in/2010/09/rotating-visualforce-table.html

     

  • Vikas Kumar

    Member
    January 23, 2017 at 10:40 am
  • Vikas Kumar

    Member
    January 23, 2017 at 10:38 am

    Hi Ashley,

    Use Data Loader when:
    You need to load 50,000 to 5,000,000 records. Data Loader is supported for loads of up to 5 million records. If you need to load more than 5 million records, we recommend you work with a Salesforce partner or visit the App Exchange for a suitable partner product.
    You need to load into an object that is not yet supported by the import wizards.
    You want to schedule regular data loads, such as nightly imports.
    You want to export your data for backup purposes.

    Use the import wizards when:
    You are loading less than 50,000 records.
    The object you need to import is supported by import wizards. To see what import wizards are available and thus what objects they support, from Setup, enter Data Management in the Quick Find box, then select Data Management.
    You want to prevent duplicates by uploading records according to account name and site, contact email address, or lead email address.

    For this Scenario you need to use Third Party tool

    Thanks

  • Vikas Kumar

    Member
    January 23, 2017 at 10:28 am

    Hi Tanu,

    Go through Following Blog Link:-http://blog.enree.co/2014/11/salesforce-lightning-loading-scripts.html

    it may Helps You

     

  • Vikas Kumar

    Member
    January 23, 2017 at 10:26 am

    Hi Tanu,

    Use the component inside the app and only once it is perfectly ready and host it on community .

    The problem with community is everytime you change you have to preview and publish and that takes lot of time .

    Instead create a lightning App .A sample below

    <aura:application>
    <c:CheckComponent/>
    </aura:application>

    You can open in SFDC with URL /c/c:xyz.app where Xyz is the App name and then you can debug in the browser console .This is really simpler compared to debugging with community skin .

Viewing 1 - 25 of 93 posts