Activity Forums Salesforce® Discussions What is the main difference between data table vs page block table tags in salesforce?

  • Deepak

    Member
    September 23, 2019 at 1:00 pm

    The four basic types, apex:pageBlockTable, apex:dataTable, apex:dataList, and apex:repeat are all basically the same thing, but present different renderings.

    apex:pageBlockTable represents a table formatted and styled to look like a related list table.

    apex:dataTable is an unstyled table suitable for use anywhere outside of a apex:pageBlock (but may be used within one).

    apex:dataList renders a ul or ol element (unordered or ordered list, respectively), with li (list item) elements comprising the rows.

    apex:repeat allows any arbitrary output based on a template. The four elements require value and var attributes, iterate over a collection of some sort, may generally be nested inside each other, and are limited to 1,000/10,000 rows of output, depending on the apex:page's readOnly attribute.

    Edit: As pointed out in the comment, the main difference with apex:pageBlockTable, compared to the other three, is it must appear in a apex:pageBlock or apex:pageBlockSection, while the other types can be rendered anywhere that Visualforce is allowed. There's a very specific limitation about apex:pageBlock not being available in email templates, as well, so you'd naturally have to use one of the other three types of iterators.

  • Nikita

    Member
    September 23, 2019 at 1:01 pm

    Hi Laveena,

    PageBlockTable:
    PageBlockTable should be defined inside pageblock or pageblocksection.
    PageBlockTable uses standard styles sheets to design a visualpage.
    It has the required attribute “value”.
    Column headers will be displayed automatically.

    DataTable:
    No need to write inside pageblock or pageblocksection.
    There is no required value.
    The data can be displayed using custom style sheets.

    we need to specify column headers explicitly.

    Thanks.

  • Prachi

    Member
    September 23, 2019 at 1:05 pm

    Hi Laveena,

    apex:pageBlockTable-

    1) uses salesforce styling
    2) No need to specify the headers
    3) mandatory attribute "value".

    apex:dataTable-

    1) Need to specify the headers
    2) we can specify custom style classes.
    3) No mandatory attribute "value" unlike in pageblockTable

    Thanks.

Log In to reply.

Popular Salesforce Blogs

Popular Salesforce Videos