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
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
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

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

Vertical
NameCountryRepresentativeStatus
Rodrigues J VenereIndiaAsiya Javayant NEGOTIATION
Jefferson I RulapaughArgentinaElwin Sharvill QUALIFIED
Murillo R AmigonBrazilElwin Sharvill NEGOTIATION
Claire E ShinkoFranceBernardo Dominic PROPOSAL
Murillo V WaycottJapanBernardo Dominic UNQUALIFIED
Kadeem H MaletJapanBernardo Dominic NEW
Leja V ButtRussiaElwin Sharvill PROPOSAL
Emily O GauchoSpainElwin Sharvill RENEWAL
Smith Y SergiSpainAsiya Javayant PROPOSAL
James U RoysterJapanIoni Bowcher NEW
David E BriddickBrazilOnyama Limba NEGOTIATION
Kaitlin S IturbideGermanyAsiya Javayant QUALIFIED
Chavez H InouyeRussiaIvan Magalhaes PROPOSAL
Kadeem V OstroskyFranceXuxue Feng NEGOTIATION
Tony O StockhamFranceIvan Magalhaes QUALIFIED
Kadeem Z MaletJapanBernardo Dominic PROPOSAL
Silvio Q SchemmerCanadaIoni Bowcher UNQUALIFIED
Alejandro H PerinArgentinaAsiya Javayant RENEWAL
Rodrigues B TollnerGermanyAmy Elsner QUALIFIED
Julie D PoquetteGermanyIvan Magalhaes RENEWAL
Salvatore L CaldareraBrazilStephen Shaw RENEWAL
Juan V DarakjyRussiaIvan Magalhaes QUALIFIED
Costa E CaldareraSpainIvan Magalhaes QUALIFIED
Munro C NickaRussiaAmy Elsner NEW
Julie D BologniaCanadaAmy Elsner NEW
Aika A BowleyIndiaAnna Fali UNQUALIFIED
Sinclair H PoquetteSpainAnna Fali UNQUALIFIED
Clifford Z KuskoIndiaAmy Elsner NEGOTIATION
Deepesh H ButtUnited KingdomIoni Bowcher NEW
Silvio U RulapaughArgentinaBernardo Dominic PROPOSAL
Aruna O RoysterArgentinaIoni Bowcher RENEWAL
Johnson I NestleAustraliaStephen Shaw PROPOSAL
Leon K VocelkaAustraliaBernardo Dominic UNQUALIFIED
Isabel V FerenczUnited KingdomAsiya Javayant PROPOSAL
Arvin V DoeAustraliaAsiya Javayant RENEWAL
Francesco W GlickFranceIoni Bowcher QUALIFIED
Maria I GlickCanadaXuxue Feng PROPOSAL
Arvin O MaletArgentinaAsiya Javayant UNQUALIFIED
Isabel P ShinkoArgentinaElwin Sharvill PROPOSAL
Deepesh A TollnerFranceIvan Magalhaes QUALIFIED
Isabel C CampainIndiaXuxue Feng RENEWAL
Greenwood K GlickFranceBernardo Dominic UNQUALIFIED
Kadeem Y PaprockiArgentinaIoni Bowcher PROPOSAL
Aika L ChuiAustraliaBernardo Dominic NEW
Jeanfrancois E SaylorsCanadaStephen Shaw RENEWAL
Stacey V PoquetteSpainAmy Elsner RENEWAL
Jennifer Q GauchoItalyIoni Bowcher PROPOSAL
Octavia P AlbaresAustraliaOnyama Limba NEW
Izzy U PaprockiGermanyIoni Bowcher PROPOSAL
Maisha F RulapaughFranceAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon E WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Johnson W GauchoFranceAsiya Javayant RENEWAL
Leon D MaletGermanyBernardo Dominic NEW
Antonio Z AlbaresSpainElwin Sharvill UNQUALIFIED
Aika L CampainIndiaOnyama Limba NEW
Claire F RutaBrazilAmy Elsner UNQUALIFIED
Cody E TollnerAustraliaElwin Sharvill RENEWAL
Johnson N PaprockiFranceStephen Shaw RENEWAL
Murillo T StensethFranceOnyama Limba RENEWAL
Claire W NickaBrazilAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire B WhobreyAustralia2024-05-17Printing Dimensions RENEWAL50Anna Fali
1001Kadeem X RulapaughRussia2024-05-31Dorl, James J Esq PROPOSAL23Xuxue Feng
1002Antonio U BriddickJapan2024-06-08Truhlar And Truhlar Attys NEGOTIATION82Onyama Limba
1003Smith Y IturbideBrazil2024-05-19Commercial Press QUALIFIED55Elwin Sharvill
1004Murillo N SchemmerBrazil2024-06-11Printing Dimensions QUALIFIED91Elwin Sharvill
1005Izzy W FollerBrazil2024-05-16Feiner Bros PROPOSAL55Ioni Bowcher
1006Maisha C WieserArgentina2024-06-01Rangoni Of Florence NEGOTIATION47Ivan Magalhaes
1007Rodrigues W RimCanada2024-06-03Truhlar And Truhlar Attys PROPOSAL24Asiya Javayant
1008Antonio B SchemmerUnited Kingdom2024-05-29Rangoni Of Florence RENEWAL95Bernardo Dominic
1009Sinclair G GlickFrance2024-06-12Feiner Bros RENEWAL90Bernardo Dominic
1010Octavia O CampainJapan2024-06-10King, Christopher A Esq NEW84Asiya Javayant
1011Maisha T KuskoArgentina2024-05-31Morlong Associates NEW17Xuxue Feng
1012Ricardo M MorascaFrance2024-05-29Chemel, James L Cpa UNQUALIFIED49Elwin Sharvill
1013Salvatore G BriddickIndia2024-05-27Benton, John B Jr RENEWAL21Onyama Limba
1014Murillo I SaylorsGermany2024-05-18Rangoni Of Florence NEW40Ioni Bowcher
1015Antonio W PerinCanada2024-05-15Morlong Associates UNQUALIFIED59Xuxue Feng
1016Kaitlin T KolmetzSpain2024-05-25Benton, John B Jr QUALIFIED38Ivan Magalhaes
1017Adams U RulapaughCanada2024-05-26Rousseaux, Michael Esq RENEWAL31Ivan Magalhaes
1018Ashley K ChuiAustralia2024-06-04Chapman, Ross E Esq NEW90Elwin Sharvill
1019Rodrigues Y ButtRussia2024-05-31Dorl, James J Esq RENEWAL66Onyama Limba
1020Ashley G SaylorsRussia2024-06-08Buckley Miller Wright PROPOSAL76Anna Fali
1021Maria K CaudyBrazil2024-05-25Benton, John B Jr QUALIFIED24Xuxue Feng
1022Francesco Q DilliardBrazil2024-06-06Chemel, James L Cpa NEW81Stephen Shaw
1023Jeanfrancois W MacleadItaly2024-05-23Rangoni Of Florence NEW52Elwin Sharvill
1024Sinclair G MacleadGermany2024-05-31Feiner Bros NEGOTIATION86Ivan Magalhaes
1025Aditya S MacleadIndia2024-05-31Buckley Miller Wright PROPOSAL93Anna Fali
1026Octavia G ButtItaly2024-06-03Feiner Bros UNQUALIFIED71Anna Fali
1027Smith B FlosiSpain2024-05-26Feiner Bros NEGOTIATION38Onyama Limba
1028Munro Q PoquetteGermany2024-05-30Buckley Miller Wright QUALIFIED57Stephen Shaw
1029Aruna E MaletSpain2024-06-04Commercial Press PROPOSAL95Stephen Shaw
1030Isabel O KuskoRussia2024-06-08Printing Dimensions RENEWAL64Ivan Magalhaes
1031Aruna V DoeGermany2024-06-04Dorl, James J Esq UNQUALIFIED68Asiya Javayant
1032Julie O KuskoJapan2024-05-26Chapman, Ross E Esq NEW56Anna Fali
1033Faith J TollnerItaly2024-05-16Feiner Bros UNQUALIFIED22Anna Fali
1034Jones D AmigonSpain2024-05-24Chapman, Ross E Esq RENEWAL1Bernardo Dominic
1035Johnson W DoeItaly2024-05-22Benton, John B Jr RENEWAL95Asiya Javayant
1036Jennifer C ChuiGermany2024-06-13Chapman, Ross E Esq RENEWAL94Onyama Limba
1037Isabel A SchemmerBrazil2024-06-02Buckley Miller Wright QUALIFIED25Asiya Javayant
1038Silvio Z RulapaughCanada2024-06-04Benton, John B Jr PROPOSAL34Amy Elsner
1039Faith Z CaldareraAustralia2024-06-01Chanay, Jeffrey A Esq QUALIFIED30Amy Elsner
1040Silvio F CaldareraGermany2024-06-09Feiner Bros NEW11Ioni Bowcher
1041Alejandro W FerenczFrance2024-06-01Rangoni Of Florence QUALIFIED21Xuxue Feng
1042Emily X CampainBrazil2024-05-23Truhlar And Truhlar Attys RENEWAL17Ioni Bowcher
1043Mujtaba Y GlickBrazil2024-05-21Rousseaux, Michael Esq RENEWAL43Xuxue Feng
1044Sinclair E MaletBrazil2024-05-15Rousseaux, Michael Esq NEGOTIATION98Bernardo Dominic
1045Jefferson S BowleyBrazil2024-06-01Chanay, Jeffrey A Esq QUALIFIED35Ioni Bowcher
1046Antonio O FlosiSpain2024-05-31Benton, John B Jr UNQUALIFIED6Amy Elsner
1047Aruna F FlosiUnited Kingdom2024-06-02King, Christopher A Esq NEW49Anna Fali
1048Adams T DoeGermany2024-06-01Feltz Printing Service QUALIFIED61Xuxue Feng
1049Faith C TollnerRussia2024-05-15Rousseaux, Michael Esq RENEWAL84Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ivar G DoeJapanAmy Elsner PROPOSAL
Cody M SaylorsAustraliaAsiya Javayant QUALIFIED
Emily U PoquetteItalyStephen Shaw NEGOTIATION
Morrow M FerenczGermanyXuxue Feng QUALIFIED
Julie Y OstroskyCanadaXuxue Feng NEW
Aruna X ButtUnited KingdomAsiya Javayant NEGOTIATION
Kaitlin L FigeroaAustraliaAnna Fali NEW
Nicolas N MorascaGermanyXuxue Feng UNQUALIFIED
Aditya F SaylorsGermanyIvan Magalhaes QUALIFIED
Alejandro C MaletFranceIoni Bowcher PROPOSAL
Mujtaba K DoeBrazilBernardo Dominic NEW
Aika N MorascaIndiaOnyama Limba QUALIFIED
Aruna A RimItalyAmy Elsner NEW
Maisha T SaylorsItalyElwin Sharvill QUALIFIED
Octavia B MorascaUnited KingdomAmy Elsner NEW
Johnson D StockhamFranceStephen Shaw RENEWAL
Julie D WaycottGermanyAsiya Javayant RENEWAL
Faith W CaudyFranceIvan Magalhaes NEW
Ricardo W KolmetzItalyIvan Magalhaes NEGOTIATION
Mayumi N SchemmerArgentinaOnyama Limba PROPOSAL
Maisha T CampainUnited KingdomIvan Magalhaes NEW
Rodrigues S BowleyGermanyAnna Fali NEGOTIATION
Nicolas H InouyeCanadaStephen Shaw NEW
Kaitlin S SchemmerRussiaXuxue Feng NEGOTIATION
Maria G SlusarskiIndiaIoni Bowcher NEGOTIATION
Mujtaba Q ButtAustraliaIoni Bowcher NEGOTIATION
Octavia D VocelkaRussiaAnna Fali QUALIFIED
Alejandro L MorascaJapanAmy Elsner QUALIFIED
Cody K PerinItalyAsiya Javayant PROPOSAL
Antonio O TollnerArgentinaElwin Sharvill PROPOSAL
Adams O RutaFranceXuxue Feng NEW
Jefferson F MacleadUnited KingdomBernardo Dominic RENEWAL
Mujtaba O SaylorsJapanStephen Shaw PROPOSAL
Octavia B SaylorsJapanIoni Bowcher UNQUALIFIED
Cody D AmigonSpainOnyama Limba RENEWAL
Antonio J InouyeRussiaAnna Fali QUALIFIED
Aruna N FlosiSpainAmy Elsner PROPOSAL
Aruna C NickaItalyAnna Fali NEW
Isabel B FerenczCanadaElwin Sharvill UNQUALIFIED
Costa P AmigonArgentinaOnyama Limba QUALIFIED
Sinclair B KolmetzRussiaBernardo Dominic UNQUALIFIED
Jennifer C CaudyRussiaAnna Fali QUALIFIED
Izzy R FerenczAustraliaElwin Sharvill QUALIFIED
Faith H PerinSpainIvan Magalhaes PROPOSAL
Salvatore U KolmetzJapanElwin Sharvill UNQUALIFIED
Aditya F DilliardSpainStephen Shaw UNQUALIFIED
Emily M BriddickSpainBernardo Dominic UNQUALIFIED
Jeanfrancois C InouyeCanadaBernardo Dominic PROPOSAL
Arvin G GarufiJapanAnna Fali RENEWAL
Octavia O IturbideFranceStephen Shaw QUALIFIED
Frozen Columns
Name
Francesco Y Stockham
Maria K Tollner
Wickens A Royster
Clifford P Caldarera
Greenwood T Chui
Tony K Ostrosky
David V Gillian
Clifford O Garufi
Johnson J Slusarski
Chavez E Venere
Isabel P Kolmetz
Darci D Albares
Ivar O Nicka
Jones W Rim
Emily I Ruta
Aruna W Caudy
Isabel L Briddick
Silvio O Darakjy
Claire M Saylors
Aika W Inouye
Jefferson W Chui
Jones K Slusarski
Leja W Malet
Greenwood Y Briddick
Maria V Iturbide
Maria R Schemmer
Costa E Maclead
Jennifer M Ostrosky
Jennifer L Waycott
Emily X Waycott
Murillo O Wieser
Rodrigues L Nicka
Misaki U Wieser
Jeanfrancois E Inouye
Ashley R Marrier
Claire P Gillian
Claire K Whobrey
Stacey B Royster
Aika P Ruta
Jefferson C Marrier
Rodrigues T Dilliard
Mujtaba Z Paprocki
Clifford J Doe
Deepesh W Kolmetz
Ashley K Saylors
Misaki X Whobrey
Octavia Y Malet
Francesco C Iturbide
Aruna Y Royster
Maisha P Oldroyd
IdCountryDate
1000Canada2024-06-13
1001Japan2024-06-13
1002Japan2024-06-06
1003Japan2024-06-08
1004Australia2024-05-18
1005Argentina2024-06-07
1006United Kingdom2024-06-12
1007Australia2024-05-22
1008Italy2024-06-08
1009Canada2024-05-21
1010France2024-06-04
1011India2024-05-28
1012Russia2024-06-10
1013France2024-06-10
1014France2024-05-15
1015United Kingdom2024-05-16
1016United Kingdom2024-06-02
1017Australia2024-06-03
1018Japan2024-06-10
1019Argentina2024-06-01
1020Canada2024-06-13
1021France2024-05-21
1022Spain2024-05-21
1023France2024-05-25
1024France2024-05-26
1025India2024-05-19
1026United Kingdom2024-05-15
1027France2024-06-07
1028Italy2024-05-16
1029Italy2024-05-23
1030Italy2024-05-16
1031Brazil2024-05-26
1032Japan2024-06-03
1033Spain2024-05-16
1034Russia2024-06-04
1035Canada2024-06-04
1036Japan2024-05-16
1037Canada2024-05-22
1038Japan2024-05-21
1039Russia2024-05-26
1040United Kingdom2024-05-23
1041Spain2024-05-21
1042Italy2024-06-11
1043Italy2024-06-01
1044Germany2024-05-31
1045Canada2024-06-08
1046France2024-06-05
1047Italy2024-06-03
1048India2024-05-16
1049Russia2024-06-03

On-Demand Data

NameIdCountryDate
Smith W Foller1000Japan2024-06-09
Octavia Z Nicka1001Germany2024-05-24
Darci I Bowley1002United Kingdom2024-05-22
James D Maclead1003France2024-05-15
Murillo R Kolmetz1004Brazil2024-06-12
Rodrigues P Saylors1005Japan2024-05-17
Morrow B Malet1006Argentina2024-05-31
Mayumi S Kolmetz1007United Kingdom2024-05-17
Smith U Poquette1008United Kingdom2024-06-05
Aruna B Morasca1009Germany2024-05-18
Izzy D Maclead1010France2024-05-15
Izzy X Perin1011Italy2024-05-29
James W Marrier1012India2024-05-24
Murillo M Morasca1013United Kingdom2024-05-20
Darci G Glick1014United Kingdom2024-05-19
Greenwood U Saylors1015Germany2024-05-23
Johnson V Gillian1016Spain2024-05-18
Ashley I Nicka1017Canada2024-05-30
Mujtaba C Campain1018United Kingdom2024-05-23
Faith W Figeroa1019Japan2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi G MarrierBrazilStephen Shaw RENEWAL
Emily V SaylorsAustraliaOnyama Limba RENEWAL
Adams J SaylorsArgentinaElwin Sharvill NEGOTIATION
Ricardo S StockhamAustraliaAmy Elsner QUALIFIED
Faith S MacleadSpainIvan Magalhaes NEGOTIATION
Munro V FigeroaIndiaIvan Magalhaes PROPOSAL
Mujtaba O MacleadBrazilIoni Bowcher NEGOTIATION
Aika M VocelkaGermanyAsiya Javayant PROPOSAL
Chavez X BriddickArgentinaBernardo Dominic NEGOTIATION
Salvatore I SchemmerFranceAsiya Javayant RENEWAL
Arvin Z PaprockiItalyIoni Bowcher NEGOTIATION
Aika S OldroydIndiaIvan Magalhaes QUALIFIED
Isabel Z VocelkaFranceStephen Shaw NEW
Nicolas J MarrierGermanyAnna Fali RENEWAL
Arvin V MaletArgentinaOnyama Limba QUALIFIED
Julie F MaletAustraliaAnna Fali PROPOSAL
James B MaletJapanXuxue Feng QUALIFIED
Jeanfrancois J MorascaSpainStephen Shaw RENEWAL
Jeanfrancois T GauchoUnited KingdomElwin Sharvill RENEWAL
Mayumi X BowleyRussiaXuxue Feng NEW
Misaki C DoeItalyAnna Fali QUALIFIED
Kaitlin Y SaylorsSpainOnyama Limba UNQUALIFIED
Kaitlin N WaycottRussiaAmy Elsner RENEWAL
Aditya P PoquetteSpainElwin Sharvill RENEWAL
Octavia L CaldareraRussiaOnyama Limba UNQUALIFIED
Clifford M PaprockiItalyBernardo Dominic RENEWAL
Octavia C NickaUnited KingdomAmy Elsner NEW
Alejandro A PaprockiIndiaIvan Magalhaes UNQUALIFIED
Darci M MaletIndiaAsiya Javayant NEGOTIATION
Rodrigues V DilliardCanadaIoni Bowcher QUALIFIED
Rodrigues R SergiFranceBernardo Dominic QUALIFIED
Stacey Y VenereBrazilBernardo Dominic QUALIFIED
Aditya S BowleyBrazilStephen Shaw QUALIFIED
Francesco U RoysterItalyOnyama Limba QUALIFIED
Greenwood P MaletFranceXuxue Feng PROPOSAL
Kadeem H InouyeArgentinaBernardo Dominic PROPOSAL
Silvio I StockhamCanadaIoni Bowcher UNQUALIFIED
Chavez O ButtGermanyAsiya Javayant UNQUALIFIED
Kaitlin Z ButtFranceElwin Sharvill RENEWAL
Kaitlin W SergiFranceAmy Elsner UNQUALIFIED

<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">
            <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>