November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Bangla
Bosnian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Central Kurdish
Khmer
Kyrgyz
Kazakh
Lithuanian
Latvian
Malay
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Serbian
Swedish
Thai
Turkish
Ukrainian
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Kadeem J FerenczJapanStephen Shaw RENEWAL
Jefferson A AmigonFranceElwin Sharvill NEW
Aditya C MaletItalyAmy Elsner PROPOSAL
Julie C ShinkoGermanyAsiya Javayant PROPOSAL
Faith Y VenereFranceBernardo Dominic UNQUALIFIED
Cody W CampainIndiaAnna Fali NEGOTIATION
James Q AmigonArgentinaBernardo Dominic UNQUALIFIED
Cody T MaletSpainStephen Shaw NEW
Emily I VocelkaRussiaIvan Magalhaes RENEWAL
Aruna M MarrierArgentinaAmy Elsner RENEWAL
Faith L AlbaresIndiaBernardo Dominic RENEWAL
Leon W FollerJapanStephen Shaw NEGOTIATION
Cody U MaletArgentinaOnyama Limba UNQUALIFIED
Jones U MacleadSpainStephen Shaw NEGOTIATION
David O KolmetzJapanXuxue Feng UNQUALIFIED
Izzy W PaprockiItalyXuxue Feng NEGOTIATION
Darci N PaprockiSpainBernardo Dominic QUALIFIED
David J MaletArgentinaIoni Bowcher QUALIFIED
Juan K OstroskyArgentinaElwin Sharvill QUALIFIED
Misaki Q MacleadGermanyAsiya Javayant NEGOTIATION
Clifford I WhobreyCanadaBernardo Dominic NEW
Salvatore D BowleyItalyAmy Elsner NEW
Mayumi D SaylorsItalyIoni Bowcher QUALIFIED
Clifford V GauchoSpainAsiya Javayant UNQUALIFIED
Antonio P ButtUnited KingdomXuxue Feng PROPOSAL
Izzy U VenereJapanBernardo Dominic RENEWAL
Greenwood J RimUnited KingdomElwin Sharvill QUALIFIED
Johnson P MaletSpainAmy Elsner NEW
Maisha U DilliardRussiaBernardo Dominic NEGOTIATION
Leon N GarufiItalyOnyama Limba NEGOTIATION
Salvatore D RulapaughRussiaIvan Magalhaes UNQUALIFIED
David V MaletIndiaStephen Shaw PROPOSAL
Johnson C CaldareraIndiaAmy Elsner UNQUALIFIED
Leon T CaudyAustraliaIoni Bowcher NEW
Mayumi Z DarakjySpainAnna Fali PROPOSAL
Clifford V BowleyItalyAnna Fali RENEWAL
Jones Q RulapaughRussiaBernardo Dominic UNQUALIFIED
Misaki B PerinIndiaElwin Sharvill QUALIFIED
Isabel I NestleArgentinaElwin Sharvill PROPOSAL
Johnson I KuskoJapanAmy Elsner QUALIFIED
Leja M GillianRussiaXuxue Feng RENEWAL
Murillo H FlosiBrazilIvan Magalhaes NEGOTIATION
Izzy I FlosiCanadaStephen Shaw UNQUALIFIED
Izzy G MaletIndiaAsiya Javayant UNQUALIFIED
Kadeem B NickaJapanOnyama Limba NEW
Emily Z WieserJapanAnna Fali PROPOSAL
Clifford S DilliardCanadaElwin Sharvill QUALIFIED
Jefferson B RoysterAustraliaAnna Fali QUALIFIED
Clifford L SaylorsBrazilBernardo Dominic PROPOSAL
Mujtaba V BowleyIndiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja X InouyeFranceAmy Elsner RENEWAL
Jones P FlosiRussiaAmy Elsner UNQUALIFIED
Adams E NickaJapanIoni Bowcher NEGOTIATION
Leja P MacleadUnited KingdomAmy Elsner RENEWAL
James J IturbideRussiaAnna Fali NEW
Ricardo B GarufiAustraliaXuxue Feng NEW
Mujtaba P FerenczCanadaStephen Shaw NEGOTIATION
Misaki J PaprockiGermanyBernardo Dominic NEGOTIATION
Greenwood J VocelkaGermanyOnyama Limba RENEWAL
Jeanfrancois E WhobreyCanadaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi E AmigonItaly2026-10-04Dorl, James J Esq RENEWAL82Ioni Bowcher
1001Aruna X OldroydJapan2026-10-11Dorl, James J Esq NEW29Bernardo Dominic
1002Jefferson J FigeroaAustralia2026-09-19Dorl, James J Esq PROPOSAL35Stephen Shaw
1003Cody Q SergiJapan2026-09-25Commercial Press NEW67Ioni Bowcher
1004Johnson F NickaItaly2026-10-01Commercial Press RENEWAL22Ioni Bowcher
1005Murillo J CaudySpain2026-10-13Printing Dimensions UNQUALIFIED57Stephen Shaw
1006Clifford O GarufiIndia2026-09-16Rousseaux, Michael Esq QUALIFIED12Ioni Bowcher
1007Jones B GauchoItaly2026-09-16Feiner Bros NEGOTIATION86Bernardo Dominic
1008Alejandro X ChuiAustralia2026-09-26Rousseaux, Michael Esq QUALIFIED82Amy Elsner
1009Izzy W GillianGermany2026-09-25Truhlar And Truhlar Attys NEW0Onyama Limba
1010Deepesh Y WaycottJapan2026-10-15Chemel, James L Cpa UNQUALIFIED20Asiya Javayant
1011Emily A OldroydFrance2026-10-07Rousseaux, Michael Esq NEGOTIATION88Anna Fali
1012Stacey F BriddickSpain2026-09-27Buckley Miller Wright NEGOTIATION21Ioni Bowcher
1013Arvin F CaldareraJapan2026-09-21Feiner Bros PROPOSAL50Asiya Javayant
1014Izzy T MorascaItaly2026-09-27Dorl, James J Esq UNQUALIFIED31Elwin Sharvill
1015Izzy D FlosiFrance2026-09-25Feiner Bros QUALIFIED10Onyama Limba
1016Sinclair I MaletJapan2026-09-21Benton, John B Jr UNQUALIFIED83Anna Fali
1017Ivar T BriddickAustralia2026-10-14Commercial Press NEGOTIATION57Bernardo Dominic
1018Maria H RutaJapan2026-09-30Rousseaux, Michael Esq NEGOTIATION35Bernardo Dominic
1019Munro L StockhamRussia2026-09-25Commercial Press PROPOSAL53Anna Fali
1020Izzy H ShinkoAustralia2026-10-09King, Christopher A Esq NEW52Onyama Limba
1021Munro Y PaprockiCanada2026-10-09King, Christopher A Esq QUALIFIED40Stephen Shaw
1022Smith J GauchoGermany2026-10-14Chemel, James L Cpa NEGOTIATION69Stephen Shaw
1023Isabel W RulapaughArgentina2026-10-05Chanay, Jeffrey A Esq UNQUALIFIED71Stephen Shaw
1024Smith B ShinkoUnited Kingdom2026-10-01Benton, John B Jr QUALIFIED53Xuxue Feng
1025Isabel G SlusarskiSpain2026-10-08Dorl, James J Esq RENEWAL84Ioni Bowcher
1026Juan G BologniaAustralia2026-09-30Chanay, Jeffrey A Esq PROPOSAL83Ivan Magalhaes
1027Morrow R FigeroaRussia2026-09-27Chanay, Jeffrey A Esq NEGOTIATION70Elwin Sharvill
1028Morrow Y SlusarskiGermany2026-10-14Dorl, James J Esq NEW88Stephen Shaw
1029Juan T WieserAustralia2026-09-30Truhlar And Truhlar Attys NEGOTIATION12Anna Fali
1030Faith O CampainFrance2026-09-17Morlong Associates NEGOTIATION34Ivan Magalhaes
1031Ashley H WhobreyArgentina2026-09-23Commercial Press QUALIFIED7Amy Elsner
1032Ivar O PoquetteItaly2026-10-11Feiner Bros RENEWAL27Bernardo Dominic
1033Arvin M SergiFrance2026-09-21Feltz Printing Service NEGOTIATION10Stephen Shaw
1034Faith V CaldareraJapan2026-09-16Benton, John B Jr UNQUALIFIED34Anna Fali
1035Jones L FerenczAustralia2026-10-03Truhlar And Truhlar Attys NEGOTIATION7Asiya Javayant
1036Faith S RulapaughFrance2026-10-12Dorl, James J Esq RENEWAL16Elwin Sharvill
1037Misaki L SaylorsIndia2026-10-05Chanay, Jeffrey A Esq PROPOSAL19Ivan Magalhaes
1038Arvin E BologniaSpain2026-09-22Truhlar And Truhlar Attys QUALIFIED44Ioni Bowcher
1039Misaki X KuskoArgentina2026-10-02Chemel, James L Cpa RENEWAL6Onyama Limba
1040Jeanfrancois P OstroskyGermany2026-10-13Feltz Printing Service UNQUALIFIED1Xuxue Feng
1041Smith Z StensethItaly2026-09-30Commercial Press NEW58Stephen Shaw
1042Rodrigues P WhobreyItaly2026-10-06Benton, John B Jr UNQUALIFIED12Ivan Magalhaes
1043Claire C FerenczArgentina2026-10-03Printing Dimensions RENEWAL50Xuxue Feng
1044Izzy Y BowleyFrance2026-10-14Commercial Press RENEWAL7Bernardo Dominic
1045Emily E BriddickCanada2026-09-16Feltz Printing Service RENEWAL89Amy Elsner
1046Aika N TollnerIndia2026-09-24Buckley Miller Wright RENEWAL75Bernardo Dominic
1047Cody B GlickRussia2026-09-26Buckley Miller Wright QUALIFIED28Onyama Limba
1048Claire M NestleArgentina2026-10-09King, Christopher A Esq RENEWAL88Bernardo Dominic
1049Izzy L CampainIndia2026-10-11Chapman, Ross E Esq RENEWAL2Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Morrow I SchemmerSpainAnna Fali NEW
James O DilliardGermanyOnyama Limba UNQUALIFIED
Clifford U MarrierFranceIvan Magalhaes UNQUALIFIED
Greenwood W InouyeJapanAmy Elsner QUALIFIED
Aditya R NickaSpainXuxue Feng QUALIFIED
Sinclair X ShinkoArgentinaBernardo Dominic RENEWAL
David K BowleyRussiaBernardo Dominic QUALIFIED
Leja W TollnerUnited KingdomXuxue Feng QUALIFIED
David P FerenczCanadaAnna Fali RENEWAL
Ivar S RimGermanyAsiya Javayant UNQUALIFIED
Stacey D SlusarskiGermanyOnyama Limba NEW
Ashley G MaletBrazilOnyama Limba NEW
Maria F SlusarskiFranceIoni Bowcher NEW
Octavia J NickaAustraliaStephen Shaw PROPOSAL
Aditya H PaprockiIndiaStephen Shaw NEW
Aditya W FollerBrazilStephen Shaw UNQUALIFIED
Tony E GillianArgentinaElwin Sharvill RENEWAL
Aditya P OstroskyItalyAnna Fali RENEWAL
Arvin M CampainFranceStephen Shaw RENEWAL
Deepesh T NestleSpainBernardo Dominic NEGOTIATION
Morrow G FollerItalyAnna Fali RENEWAL
Cody Q MarrierGermanyAsiya Javayant PROPOSAL
Munro Y FigeroaGermanyAmy Elsner PROPOSAL
Stacey L NestleAustraliaBernardo Dominic RENEWAL
James M InouyeUnited KingdomAsiya Javayant NEGOTIATION
Misaki R RulapaughAustraliaOnyama Limba NEGOTIATION
Isabel Q WaycottGermanyAsiya Javayant PROPOSAL
James K OldroydAustraliaXuxue Feng NEGOTIATION
Jones B PoquetteIndiaIvan Magalhaes UNQUALIFIED
Emily J VenereBrazilIvan Magalhaes QUALIFIED
Nicolas L WieserArgentinaXuxue Feng NEGOTIATION
Wickens R IturbideItalyStephen Shaw RENEWAL
Faith K BowleySpainAnna Fali RENEWAL
Francesco E FollerArgentinaElwin Sharvill RENEWAL
Faith J BowleyArgentinaIoni Bowcher NEGOTIATION
Adams Y CaldareraFranceAmy Elsner UNQUALIFIED
Smith B KolmetzAustraliaBernardo Dominic UNQUALIFIED
Mayumi I SergiIndiaXuxue Feng RENEWAL
Kadeem B ShinkoAustraliaXuxue Feng UNQUALIFIED
Juan R BriddickUnited KingdomAmy Elsner PROPOSAL
Maisha D PaprockiUnited KingdomIoni Bowcher RENEWAL
Chavez N AmigonRussiaAmy Elsner RENEWAL
Ivar K BowleyIndiaAsiya Javayant NEW
Leja Z ShinkoAustraliaElwin Sharvill QUALIFIED
Mayumi V WhobreyBrazilBernardo Dominic NEGOTIATION
Ashley X MorascaAustraliaIvan Magalhaes RENEWAL
Stacey G GlickCanadaAmy Elsner QUALIFIED
Smith U CaudyBrazilIoni Bowcher PROPOSAL
Wickens J DilliardGermanyOnyama Limba UNQUALIFIED
Maria C SergiIndiaAsiya Javayant NEW
Frozen Columns
Name
Juan L Stockham
James Z Shinko
Sinclair K Paprocki
Darci V Marrier
Stacey B Nestle
Stacey B Ruta
Maria A Vocelka
Aika Y Whobrey
Mujtaba B Chui
Ashley Z Kusko
Ivar C Kusko
Kaitlin O Figeroa
Ricardo J Wieser
Claire T Flosi
Wickens P Amigon
Jennifer U Saylors
Mujtaba P Kolmetz
Aika R Ostrosky
James D Darakjy
Darci M Tollner
Jones C Foller
Johnson A Inouye
Wickens U Butt
Silvio S Stenseth
Rodrigues Z Doe
Mayumi B Caldarera
Leon G Schemmer
Rodrigues A Bowley
Chavez B Tollner
Rodrigues K Tollner
Silvio R Poquette
Darci Q Briddick
Aika Z Poquette
Faith K Poquette
Kaitlin Q Tollner
Ivar Z Morasca
Isabel E Oldroyd
Claire C Malet
Mayumi L Royster
Isabel T Schemmer
Darci C Paprocki
Ashley W Malet
Faith K Malet
Juan I Schemmer
Juan A Tollner
Octavia O Wieser
Darci N Gillian
Claire R Sergi
Costa J Wieser
Julie L Wieser
IdCountryDate
1000Australia2026-09-22
1001Brazil2026-09-29
1002Spain2026-10-11
1003Japan2026-09-18
1004Japan2026-10-01
1005Canada2026-09-30
1006India2026-10-13
1007France2026-09-18
1008India2026-10-07
1009Canada2026-10-10
1010Italy2026-09-17
1011Germany2026-09-18
1012Italy2026-09-28
1013Germany2026-10-07
1014Argentina2026-10-06
1015Germany2026-10-15
1016Argentina2026-09-27
1017United Kingdom2026-09-28
1018Argentina2026-09-29
1019France2026-09-27
1020Italy2026-10-13
1021United Kingdom2026-09-26
1022Argentina2026-10-03
1023Canada2026-10-12
1024Australia2026-10-04
1025Australia2026-10-01
1026United Kingdom2026-10-15
1027Brazil2026-10-08
1028Spain2026-09-21
1029France2026-09-30
1030Canada2026-10-05
1031Australia2026-09-16
1032Argentina2026-10-11
1033Japan2026-09-28
1034Argentina2026-10-04
1035Spain2026-09-21
1036Brazil2026-09-21
1037United Kingdom2026-09-19
1038India2026-10-06
1039France2026-09-27
1040Russia2026-10-14
1041Brazil2026-09-22
1042India2026-10-02
1043Germany2026-09-20
1044Australia2026-10-09
1045Spain2026-10-07
1046Italy2026-09-17
1047Argentina2026-09-23
1048Canada2026-09-19
1049Italy2026-09-17

On-Demand Data

NameIdCountryDate
Maisha M Saylors1000France2026-10-13
Munro H Bolognia1001Italy2026-09-23
Maisha Q Rim1002Australia2026-09-24
David H Briddick1003Italy2026-09-21
Octavia J Albares1004France2026-09-30
Misaki G Morasca1005Russia2026-10-03
Greenwood T Iturbide1006Canada2026-10-08
Julie V Vocelka1007Argentina2026-09-16
David O Albares1008India2026-10-15
James V Chui1009France2026-10-04
Costa O Marrier1010France2026-10-07
Cody E Ferencz1011Japan2026-09-30
Leon U Rim1012Spain2026-10-12
Deepesh I Nicka1013Spain2026-10-11
Kadeem S Morasca1014United Kingdom2026-09-28
Jones S Royster1015India2026-10-12
Arvin C Whobrey1016United Kingdom2026-10-11
Tony Z Gillian1017France2026-10-12
Murillo C Wieser1018Brazil2026-09-29
Rodrigues L Malet1019Australia2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford C VocelkaFranceBernardo Dominic RENEWAL
Ricardo M WhobreyArgentinaIvan Magalhaes QUALIFIED
Leja C AmigonCanadaIoni Bowcher QUALIFIED
Wickens U ButtAustraliaXuxue Feng NEGOTIATION
Darci K PaprockiAustraliaAmy Elsner UNQUALIFIED
Faith N MaletUnited KingdomAsiya Javayant RENEWAL
Greenwood G BowleyRussiaAnna Fali UNQUALIFIED
Nicolas A BriddickItalyStephen Shaw NEGOTIATION
Aruna B CaldareraBrazilAsiya Javayant QUALIFIED
Aika J CaudySpainXuxue Feng RENEWAL
Jones K VenereSpainStephen Shaw NEGOTIATION
Kadeem A VenereBrazilStephen Shaw NEW
Octavia Q FollerItalyOnyama Limba NEGOTIATION
Greenwood Q NickaAustraliaAsiya Javayant NEW
Aruna F ButtFranceAmy Elsner PROPOSAL
Chavez H PoquetteRussiaOnyama Limba NEW
Leon P SlusarskiSpainAsiya Javayant QUALIFIED
Adams L RutaCanadaIoni Bowcher NEGOTIATION
Sinclair S WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Mayumi Y ShinkoIndiaAmy Elsner NEW
Mayumi X KuskoItalyOnyama Limba NEGOTIATION
Mayumi N RimJapanIvan Magalhaes NEGOTIATION
Salvatore B MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Ashley N CaudyFranceElwin Sharvill NEW
Octavia C DoeUnited KingdomIoni Bowcher NEW
Kaitlin G InouyeSpainStephen Shaw NEW
Jefferson Y VenereRussiaIvan Magalhaes NEW
Jeanfrancois N RoysterRussiaBernardo Dominic PROPOSAL
Juan U SaylorsSpainXuxue Feng RENEWAL
Francesco F CaudyJapanOnyama Limba NEGOTIATION
Tony D MaletItalyAsiya Javayant QUALIFIED
Costa V RutaArgentinaXuxue Feng NEGOTIATION
David A MaletGermanyElwin Sharvill QUALIFIED
Izzy N GarufiUnited KingdomIoni Bowcher QUALIFIED
Johnson A WhobreyIndiaBernardo Dominic RENEWAL
Greenwood U NestleCanadaXuxue Feng PROPOSAL
Alejandro J CaudySpainAmy Elsner RENEWAL
Aruna C DilliardFranceIvan Magalhaes NEW
Stacey T SlusarskiSpainOnyama Limba PROPOSAL
Izzy E DoeAustraliaOnyama Limba RENEWAL

<style>
    .ui-datatable-frozenlayout-left {
        width: 20%;
    }

    .ui-datatable-frozenlayout-right {
        width: 80%;
    }
</style>


<h:form>
    <div class="card">
        <h5 style="margin-top:0">Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers1}" scrollable="true" scrollHeight="250">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers2}" scrollable="true" scrollWidth="600">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal and Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers3}" scrollable="true" scrollWidth="50%" scrollHeight="250">
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
            <p:column headerText="Company" footerText="Company">
                <h:outputText value="#{customer.company}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
            <p:column headerText="Activity" footerText="Activity">
                <h:outputText value="#{customer.activity}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers4}" scrollable="true" scrollHeight="250"
                     frozenRows="2">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Columns</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers5}" scrollable="true" scrollHeight="250"
                     scrollWidth="300" frozenColumns="1" frozenColumnsAlignment="left">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h3>On-Demand Data</h3>
        <p:dataTable var="customer" value="#{dtScrollView.customers6}" scrollRows="20" scrollable="true" liveScroll="true" scrollHeight="150">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Virtual Scrolling - 20000 Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.lazyModel}" scrollRows="20" scrollable="true"
                     virtualScroll="true" scrollHeight="200" rows="40" style="margin-bottom:0">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>