rsoesemann / visualforce-table-grid

Flexible and highly customizable Visualforce table grid component. Salesforce.com Classic Look and Feel.
MIT License
124 stars 72 forks source link
apex grid-visualforce-component jquery-ui salesforce tab tablegrid

Visualforce TableGrid

<img alt="Deploy to Salesforce" src="https://raw.githubusercontent.com/afawcett/githubsfdeploy/master/src/main/webapp/resources/img/deploy.png">

Usage | Know Issues/Todos | Third Party Code | Licence

TableGrid is a free, open-source Force.com library, that provides users and developers a highly customizable, native-looking, sortable, filterable, editable Grid Visualforce component. This component can be used as an advanced, highly configurable (by developer and user) replacement of s and Standard Related Lists.

Two instances of Visualforce TableGrid, one read-only and one editable version.

Features:

Usage Examples

Please see components/tableGrid.component for a detailed description of all attributes. The following examples should give you enough information to get started.

TableGrid in a standalone Visualforce page

TableGrid in List mode with Customizations turned on

This snippet is taken from the sample page pages/tableGridStandalone.page.

    <apex:page showHeader="false" sidebar="false"> 
        <apex:form >
            ...
            <c:tableGrid type="Opportunity" 
                         title="Opportunities"
                         fields="Name,StageName,Amount,CloseDate" 
                         sortBy="Name" 
                         image="/img/icon/hands24.png"
                         sortDescending="true"
                         mode="list"
                         customizeFields="true"
                         customizeFilter="true"
                         pageSize="5" />   
             ...
        </apex:form>
    </apex:page>

TableGrid embedded into Standard Page Layouts

Two TableGrid instanced replacing Standard Related Lists in a Standard Page Layout

This snippet is taken from the sample page pages/tableGridRelatedList.page and pages/tableGridEmbedded.page

    <apex:page standardController="Account"> 
        <apex:form>
            ...

            <!-- Advanced Related list -->
            <c:tableGrid type="Contact" 
                         fields="Id, Name, Email, Birthdate" 
                         filter="AccountId = `{!Account.Id}`"
                         title="Contacts" 
                         gridPageId="readonly"
                         pageSize="5"
                         mode="list"/>

            <!-- Editable grid with customization turned on -->        
            <c:tableGrid type="Opportunity" 
                         fields="Name,StageName,Amount,CloseDate" 
                         filter="AccountId = `{!Account.Id}`"
                         sortBy="Name" 
                         sortDescending="true"
                         title="Opportunities" 
                         gridPageId="editable"
                         customizeFields="true"
                         customizeFilter="true"
                         pageSize="5"
                         mode="edit"/>  

             ...
        </apex:form>
    </apex:page>

TableGrid as an Advanced Lookup Popup

TableGrid as an Advanced Lookup Popup

This snippet is taken from the sample page pages/tableGridAdvancedLookup.page.

<apex:page standardController="Contact">    
    <apex:form>
        ...
        <c:advancedLookup > 
            <apex:inputField value="{!Contact.AccountId}" label="" />
        </c:advancedLookup>
        ...
    </apex:form>
</apex:page>

Known Issues/Todos

Third-party Code

This library makes use of a number of third-party components: