<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
Please see components/tableGrid.component
for a detailed description of all attributes. The following examples should give
you enough information to get started.
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>
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>
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>
StandardSetController
, which seems to have this restriction.This library makes use of a number of third-party components: