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
Ricardo P StockhamCanadaAsiya Javayant RENEWAL
Murillo M WhobreyIndiaAmy Elsner PROPOSAL
Mayumi Q MacleadFranceAsiya Javayant UNQUALIFIED
Isabel W GarufiItalyAsiya Javayant PROPOSAL
Rodrigues U MaletJapanIvan Magalhaes QUALIFIED
Morrow X WaycottAustraliaElwin Sharvill NEW
Francesco Z PerinFranceStephen Shaw NEW
Darci O CaldareraCanadaOnyama Limba UNQUALIFIED
Isabel V MaletAustraliaXuxue Feng UNQUALIFIED
Leja T GlickRussiaIoni Bowcher RENEWAL
Greenwood U FigeroaFranceAnna Fali NEGOTIATION
Greenwood W MaletBrazilBernardo Dominic QUALIFIED
Deepesh G OstroskySpainStephen Shaw PROPOSAL
Adams I OldroydGermanyIoni Bowcher UNQUALIFIED
Leon M RutaFranceAnna Fali RENEWAL
Cody M SaylorsCanadaIvan Magalhaes NEW
Leja A PoquetteAustraliaElwin Sharvill UNQUALIFIED
Jefferson C AmigonUnited KingdomXuxue Feng QUALIFIED
Morrow C PaprockiGermanyStephen Shaw NEW
Wickens L WaycottFranceOnyama Limba QUALIFIED
Murillo I PoquetteFranceBernardo Dominic QUALIFIED
Deepesh V MaletItalyStephen Shaw NEW
Tony E MaletRussiaAnna Fali NEW
David F PerinRussiaAnna Fali UNQUALIFIED
Aditya C GauchoGermanyStephen Shaw RENEWAL
Jefferson M MacleadUnited KingdomIvan Magalhaes NEW
Antonio N PoquetteItalyOnyama Limba NEGOTIATION
Izzy X KolmetzIndiaIoni Bowcher QUALIFIED
Sinclair B AmigonArgentinaElwin Sharvill NEW
Mayumi O StensethItalyAnna Fali RENEWAL
Salvatore M PaprockiItalyStephen Shaw QUALIFIED
Maria N SaylorsBrazilOnyama Limba RENEWAL
Smith A NestleSpainElwin Sharvill RENEWAL
Salvatore Z PerinCanadaAsiya Javayant NEW
Leja A ChuiSpainIvan Magalhaes QUALIFIED
Clifford I CaldareraSpainStephen Shaw PROPOSAL
Costa J NestleRussiaXuxue Feng NEW
Alejandro N KuskoItalyElwin Sharvill NEW
Costa V KolmetzArgentinaBernardo Dominic PROPOSAL
Ashley W CaudySpainBernardo Dominic RENEWAL
Izzy O PaprockiIndiaXuxue Feng RENEWAL
Maisha A CampainBrazilOnyama Limba PROPOSAL
Alejandro N KuskoItalyBernardo Dominic UNQUALIFIED
Darci C RimRussiaAnna Fali NEGOTIATION
Ashley O StockhamRussiaIvan Magalhaes QUALIFIED
Salvatore W NickaRussiaAnna Fali QUALIFIED
Misaki O PaprockiSpainIoni Bowcher PROPOSAL
Murillo L PoquetteItalyIvan Magalhaes PROPOSAL
Ashley O StensethGermanyElwin Sharvill UNQUALIFIED
Alejandro N SergiRussiaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Isabel T MaletAustraliaStephen Shaw PROPOSAL
Silvio D BologniaRussiaOnyama Limba NEGOTIATION
James E MarrierUnited KingdomOnyama Limba NEW
Cody B CaldareraCanadaIvan Magalhaes PROPOSAL
Salvatore C IturbideUnited KingdomAsiya Javayant PROPOSAL
Salvatore T DoeJapanAsiya Javayant NEGOTIATION
Julie R StockhamRussiaElwin Sharvill RENEWAL
Morrow A RulapaughGermanyIvan Magalhaes QUALIFIED
Costa O NestleGermanyOnyama Limba QUALIFIED
Isabel C ChuiGermanyXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo Z PerinFrance2024-05-11Chemel, James L Cpa UNQUALIFIED68Elwin Sharvill
1001Izzy V GarufiCanada2024-05-29Chemel, James L Cpa QUALIFIED90Elwin Sharvill
1002Jeanfrancois G MaletAustralia2024-05-10Buckley Miller Wright NEW93Asiya Javayant
1003Chavez U StensethAustralia2024-05-14Benton, John B Jr UNQUALIFIED5Xuxue Feng
1004Faith A DarakjyArgentina2024-05-12Chapman, Ross E Esq UNQUALIFIED85Ioni Bowcher
1005Julie O NickaUnited Kingdom2024-05-10Buckley Miller Wright UNQUALIFIED82Amy Elsner
1006Maisha F TollnerCanada2024-05-17Benton, John B Jr UNQUALIFIED32Anna Fali
1007Jennifer G WieserBrazil2024-05-23Buckley Miller Wright RENEWAL4Ioni Bowcher
1008Johnson L OldroydUnited Kingdom2024-05-13Dorl, James J Esq NEW16Ioni Bowcher
1009Adams Z MorascaItaly2024-05-02Commercial Press QUALIFIED97Stephen Shaw
1010Johnson C ChuiIndia2024-05-07Chemel, James L Cpa PROPOSAL88Amy Elsner
1011Salvatore O AlbaresRussia2024-05-04Dorl, James J Esq NEGOTIATION0Bernardo Dominic
1012Antonio V RulapaughUnited Kingdom2024-05-19Feiner Bros QUALIFIED90Elwin Sharvill
1013Octavia Q InouyeCanada2024-05-13King, Christopher A Esq RENEWAL57Ioni Bowcher
1014Jennifer L DilliardFrance2024-05-06Commercial Press PROPOSAL70Amy Elsner
1015Tony W RutaBrazil2024-05-29Chanay, Jeffrey A Esq RENEWAL39Asiya Javayant
1016Tony N MarrierSpain2024-05-01Rousseaux, Michael Esq UNQUALIFIED55Ioni Bowcher
1017David W GlickIndia2024-05-06Benton, John B Jr PROPOSAL67Xuxue Feng
1018Isabel O FollerItaly2024-05-04Feltz Printing Service NEGOTIATION75Anna Fali
1019Mayumi F GlickGermany2024-05-22Truhlar And Truhlar Attys RENEWAL81Ivan Magalhaes
1020Izzy X BowleyFrance2024-05-19Morlong Associates QUALIFIED51Elwin Sharvill
1021Murillo Y SchemmerBrazil2024-05-27Printing Dimensions NEGOTIATION25Elwin Sharvill
1022Stacey L PaprockiItaly2024-05-08Printing Dimensions RENEWAL29Elwin Sharvill
1023Leon T KuskoArgentina2024-05-01Printing Dimensions NEW90Asiya Javayant
1024Alejandro M SchemmerUnited Kingdom2024-05-19Truhlar And Truhlar Attys UNQUALIFIED15Ioni Bowcher
1025Leja O AmigonUnited Kingdom2024-05-04Dorl, James J Esq PROPOSAL89Ivan Magalhaes
1026Ashley T ShinkoUnited Kingdom2024-05-20Feiner Bros UNQUALIFIED7Asiya Javayant
1027Jones U VocelkaAustralia2024-05-11Rousseaux, Michael Esq UNQUALIFIED7Elwin Sharvill
1028Kaitlin L InouyeIndia2024-05-16Rousseaux, Michael Esq PROPOSAL41Xuxue Feng
1029Stacey Q FollerBrazil2024-05-22Printing Dimensions NEW84Elwin Sharvill
1030Maisha G BologniaBrazil2024-05-07Rousseaux, Michael Esq RENEWAL34Asiya Javayant
1031Murillo J WaycottSpain2024-05-20Morlong Associates UNQUALIFIED44Stephen Shaw
1032Morrow F SergiArgentina2024-05-06Feiner Bros UNQUALIFIED49Asiya Javayant
1033Silvio B ShinkoAustralia2024-05-02Morlong Associates PROPOSAL18Stephen Shaw
1034Antonio R DarakjyUnited Kingdom2024-05-10Benton, John B Jr UNQUALIFIED35Onyama Limba
1035Morrow K StensethItaly2024-05-07Truhlar And Truhlar Attys QUALIFIED6Xuxue Feng
1036Rodrigues C PerinFrance2024-05-12Benton, John B Jr NEW24Anna Fali
1037Mujtaba M WieserSpain2024-05-22Chemel, James L Cpa UNQUALIFIED6Ivan Magalhaes
1038Greenwood L RutaRussia2024-05-28Chanay, Jeffrey A Esq NEGOTIATION24Asiya Javayant
1039Izzy Y RulapaughItaly2024-05-30King, Christopher A Esq RENEWAL96Elwin Sharvill
1040Mujtaba K AmigonIndia2024-05-20Commercial Press RENEWAL92Amy Elsner
1041Greenwood I DoeItaly2024-05-15Chemel, James L Cpa QUALIFIED21Stephen Shaw
1042Ricardo J WieserAustralia2024-05-06Rousseaux, Michael Esq NEW90Anna Fali
1043Jeanfrancois A VocelkaSpain2024-05-16Buckley Miller Wright PROPOSAL77Amy Elsner
1044Chavez U SaylorsSpain2024-05-03Chemel, James L Cpa NEGOTIATION86Stephen Shaw
1045David Z KuskoRussia2024-05-07Benton, John B Jr PROPOSAL17Stephen Shaw
1046Clifford K BologniaAustralia2024-05-20King, Christopher A Esq QUALIFIED48Stephen Shaw
1047Isabel O GlickAustralia2024-05-25Rangoni Of Florence UNQUALIFIED0Ivan Magalhaes
1048Johnson W VocelkaGermany2024-05-01Feiner Bros QUALIFIED72Onyama Limba
1049Mujtaba M RoysterJapan2024-05-06Chapman, Ross E Esq QUALIFIED39Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Chavez R WaycottAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois T KuskoGermanyIoni Bowcher NEGOTIATION
Aditya W GauchoCanadaAmy Elsner NEW
Smith R SlusarskiRussiaAmy Elsner NEGOTIATION
Francesco W StockhamFranceIoni Bowcher PROPOSAL
Tony T PoquetteGermanyBernardo Dominic NEGOTIATION
Aditya V MarrierIndiaStephen Shaw PROPOSAL
Kadeem C ButtCanadaIvan Magalhaes RENEWAL
Jeanfrancois O SchemmerIndiaElwin Sharvill NEW
Kaitlin O FollerItalyIvan Magalhaes RENEWAL
Kadeem W FollerFranceElwin Sharvill RENEWAL
Ricardo U MarrierArgentinaAnna Fali PROPOSAL
Leja Y MaletJapanAnna Fali RENEWAL
Silvio H BowleyItalyAnna Fali RENEWAL
Julie J DilliardItalyAmy Elsner QUALIFIED
Emily V NestleArgentinaOnyama Limba NEW
Izzy E CaudyCanadaAsiya Javayant UNQUALIFIED
Aditya Y SergiFranceElwin Sharvill RENEWAL
Tony V SlusarskiSpainOnyama Limba NEW
Wickens W DilliardFranceAnna Fali RENEWAL
Alejandro E WhobreyAustraliaOnyama Limba UNQUALIFIED
Stacey G FerenczJapanAmy Elsner NEGOTIATION
Chavez Z VocelkaCanadaIoni Bowcher NEW
Clifford H AlbaresGermanyXuxue Feng PROPOSAL
Salvatore X BriddickBrazilIoni Bowcher QUALIFIED
Misaki C ButtBrazilBernardo Dominic PROPOSAL
Greenwood Y InouyeCanadaElwin Sharvill RENEWAL
Ricardo J FigeroaFranceElwin Sharvill RENEWAL
Chavez F AmigonArgentinaStephen Shaw PROPOSAL
Maisha B StensethAustraliaAsiya Javayant PROPOSAL
Claire C CampainIndiaOnyama Limba NEW
Rodrigues D FerenczArgentinaBernardo Dominic QUALIFIED
Kaitlin I TollnerSpainXuxue Feng NEGOTIATION
Maria K StockhamSpainOnyama Limba PROPOSAL
Stacey O GauchoGermanyOnyama Limba QUALIFIED
Morrow P OldroydUnited KingdomAsiya Javayant UNQUALIFIED
David S DilliardGermanyIoni Bowcher RENEWAL
Octavia C NickaJapanAnna Fali PROPOSAL
Salvatore E SchemmerUnited KingdomBernardo Dominic RENEWAL
Aditya G FerenczAustraliaStephen Shaw QUALIFIED
Jeanfrancois X RulapaughRussiaStephen Shaw QUALIFIED
Salvatore Q MorascaJapanXuxue Feng NEW
Maisha R WieserIndiaStephen Shaw NEGOTIATION
Francesco O BriddickGermanyAnna Fali PROPOSAL
Leon M KolmetzUnited KingdomStephen Shaw UNQUALIFIED
Maisha Q MarrierCanadaAnna Fali QUALIFIED
Cody I TollnerArgentinaOnyama Limba QUALIFIED
James G WieserIndiaIoni Bowcher NEW
Tony J RimRussiaBernardo Dominic RENEWAL
Ricardo R GlickItalyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Smith E Bolognia
Nicolas H Iturbide
Wickens M Morasca
Octavia L Morasca
Alejandro N Shinko
Tony J Glick
Ivar T Kusko
Izzy G Shinko
Mujtaba J Glick
Octavia N Gaucho
Mayumi R Darakjy
Adams R Morasca
Deepesh E Maclead
Cody F Caldarera
Aruna F Poquette
Juan J Rim
Juan Y Iturbide
Costa K Maclead
Jefferson E Wieser
Mayumi Q Malet
James H Saylors
Francesco X Ruta
Johnson W Ostrosky
Antonio L Royster
Rodrigues U Saylors
Faith P Darakjy
Stacey E Oldroyd
Adams R Schemmer
Misaki X Figeroa
Juan V Darakjy
Julie L Poquette
Tony P Ferencz
Jefferson G Garufi
Faith T Maclead
Murillo O Caldarera
Ashley D Caldarera
Leon I Campain
Leon F Campain
Salvatore M Glick
David X Figeroa
David Y Foller
Deepesh Y Amigon
Deepesh U Poquette
David G Caudy
Aika Y Campain
Jennifer L Venere
Greenwood I Stenseth
Claire A Amigon
Nicolas G Ferencz
Ricardo D Ruta
IdCountryDate
1000United Kingdom2024-05-22
1001Germany2024-05-19
1002Italy2024-05-17
1003Australia2024-05-19
1004Brazil2024-05-16
1005Australia2024-05-28
1006Germany2024-05-09
1007Russia2024-05-09
1008France2024-05-03
1009Russia2024-05-20
1010Japan2024-05-29
1011Germany2024-05-10
1012Germany2024-05-15
1013United Kingdom2024-05-18
1014Italy2024-05-25
1015Italy2024-05-12
1016Canada2024-05-16
1017France2024-05-23
1018Germany2024-05-01
1019France2024-05-27
1020Germany2024-05-29
1021Germany2024-05-14
1022Spain2024-05-05
1023Japan2024-05-12
1024Australia2024-05-11
1025France2024-05-04
1026Spain2024-05-10
1027France2024-05-21
1028Australia2024-05-05
1029Australia2024-05-14
1030United Kingdom2024-05-19
1031Japan2024-05-06
1032Japan2024-05-14
1033Russia2024-05-06
1034Italy2024-05-19
1035Japan2024-05-30
1036France2024-05-02
1037Spain2024-05-21
1038United Kingdom2024-05-17
1039Russia2024-05-29
1040Germany2024-05-24
1041Germany2024-05-21
1042Canada2024-05-04
1043Spain2024-05-20
1044Japan2024-05-22
1045United Kingdom2024-05-18
1046India2024-05-26
1047Germany2024-05-15
1048Spain2024-05-25
1049Spain2024-05-27

On-Demand Data

NameIdCountryDate
Aditya B Whobrey1000Italy2024-05-30
David Q Nicka1001Germany2024-05-29
Darci V Bowley1002United Kingdom2024-05-12
Stacey F Doe1003Australia2024-05-12
James C Paprocki1004United Kingdom2024-05-20
Nicolas G Perin1005Brazil2024-05-17
Emily F Garufi1006Australia2024-05-24
Darci Q Schemmer1007Brazil2024-05-15
Jones K Nicka1008United Kingdom2024-05-13
Morrow F Gaucho1009Germany2024-05-26
Mujtaba N Ferencz1010India2024-05-29
Faith Q Sergi1011Australia2024-05-18
Julie Y Gaucho1012Spain2024-05-23
Julie I Ostrosky1013India2024-05-07
Adams G Albares1014France2024-05-22
Aditya R Inouye1015Brazil2024-05-30
Johnson G Gaucho1016Italy2024-05-07
Juan D Caldarera1017Spain2024-05-07
Ashley S Caldarera1018Brazil2024-05-08
Maisha K Ostrosky1019France2024-05-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas V DarakjyRussiaBernardo Dominic PROPOSAL
Kadeem K FerenczSpainIvan Magalhaes PROPOSAL
Aika P PoquetteJapanIvan Magalhaes NEW
Kadeem E RulapaughFranceAsiya Javayant NEGOTIATION
Jefferson D WhobreyBrazilAnna Fali RENEWAL
Antonio P AlbaresAustraliaAsiya Javayant NEW
Murillo C GlickRussiaAmy Elsner NEGOTIATION
James F MarrierItalyStephen Shaw UNQUALIFIED
Francesco G TollnerGermanyAmy Elsner RENEWAL
Octavia N MaletFranceIoni Bowcher RENEWAL
Faith Q SchemmerGermanyAsiya Javayant RENEWAL
Aruna L PoquetteBrazilIoni Bowcher NEGOTIATION
Francesco J RutaAustraliaAnna Fali UNQUALIFIED
Salvatore S BriddickBrazilAsiya Javayant PROPOSAL
Jones Z CaudyUnited KingdomIoni Bowcher PROPOSAL
Darci K WieserCanadaIoni Bowcher NEW
Leon K RutaArgentinaIoni Bowcher PROPOSAL
Adams O RoysterIndiaXuxue Feng NEGOTIATION
Mujtaba C BologniaJapanAsiya Javayant QUALIFIED
Wickens T RulapaughCanadaAmy Elsner UNQUALIFIED
Adams O CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Adams W SaylorsItalyIvan Magalhaes QUALIFIED
Aditya E KolmetzRussiaIvan Magalhaes UNQUALIFIED
David Y IturbideCanadaXuxue Feng NEW
Tony N MaletFranceAnna Fali RENEWAL
Johnson M GillianAustraliaAsiya Javayant RENEWAL
Morrow K VocelkaItalyAmy Elsner NEGOTIATION
Antonio N KolmetzItalyBernardo Dominic QUALIFIED
Julie Y VenereJapanXuxue Feng RENEWAL
Greenwood L OldroydAustraliaAmy Elsner NEW
Rodrigues U WieserIndiaBernardo Dominic UNQUALIFIED
Izzy Y ShinkoGermanyBernardo Dominic PROPOSAL
Claire X VenereIndiaAmy Elsner RENEWAL
Aruna G PoquetteBrazilAsiya Javayant NEW
Kaitlin G PaprockiArgentinaXuxue Feng NEW
Smith D PerinRussiaElwin Sharvill NEGOTIATION
Nicolas G BologniaCanadaStephen Shaw RENEWAL
Mujtaba G GlickArgentinaStephen Shaw UNQUALIFIED
Kadeem C DilliardArgentinaOnyama Limba PROPOSAL
Emily T MaletAustraliaXuxue Feng QUALIFIED

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