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
Emily N InouyeSpainElwin Sharvill NEGOTIATION
Munro L BowleyItalyAnna Fali NEGOTIATION
Sinclair Q StensethJapanAsiya Javayant RENEWAL
Claire I PaprockiAustraliaAnna Fali QUALIFIED
Octavia V BowleyAustraliaBernardo Dominic NEGOTIATION
Francesco P SchemmerIndiaAsiya Javayant RENEWAL
Darci S MaletItalyStephen Shaw NEW
Sinclair B DilliardFranceOnyama Limba NEW
Leon G VocelkaArgentinaIvan Magalhaes NEW
Aruna V NickaAustraliaIvan Magalhaes PROPOSAL
Salvatore S VenereItalyAnna Fali NEW
Jefferson Z PoquetteRussiaElwin Sharvill RENEWAL
Julie V FerenczAustraliaElwin Sharvill UNQUALIFIED
Jefferson D SchemmerRussiaAnna Fali NEW
Darci O KolmetzRussiaBernardo Dominic RENEWAL
Maria Z WhobreyItalyOnyama Limba NEW
Arvin O FigeroaRussiaIoni Bowcher NEGOTIATION
Octavia Q PerinUnited KingdomIvan Magalhaes QUALIFIED
Adams G WhobreySpainAsiya Javayant RENEWAL
Jones E DilliardFranceIvan Magalhaes QUALIFIED
Costa F BologniaBrazilAsiya Javayant PROPOSAL
Nicolas Y RoysterItalyIoni Bowcher QUALIFIED
Arvin W NestleFranceIoni Bowcher NEW
Mujtaba V CaldareraItalyOnyama Limba NEGOTIATION
Alejandro I VocelkaIndiaIvan Magalhaes PROPOSAL
Darci H IturbideAustraliaOnyama Limba NEGOTIATION
Silvio L StockhamCanadaOnyama Limba PROPOSAL
Ivar V FlosiSpainAnna Fali QUALIFIED
Darci H NickaFranceAmy Elsner PROPOSAL
Deepesh F SlusarskiUnited KingdomStephen Shaw RENEWAL
Darci X GlickBrazilIvan Magalhaes NEGOTIATION
Silvio E PerinCanadaXuxue Feng UNQUALIFIED
Clifford V VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues H FigeroaItalyBernardo Dominic QUALIFIED
Deepesh U CaudyJapanOnyama Limba RENEWAL
Isabel Z MarrierItalyAnna Fali QUALIFIED
Maisha W SlusarskiFranceAnna Fali UNQUALIFIED
Wickens L ChuiRussiaStephen Shaw NEGOTIATION
Greenwood H MorascaSpainAmy Elsner RENEWAL
Aika H PerinAustraliaBernardo Dominic NEW
Leon F FerenczItalyBernardo Dominic NEGOTIATION
Maria V PoquetteFranceAnna Fali PROPOSAL
Leon S PoquetteRussiaAmy Elsner RENEWAL
Johnson P GillianRussiaIoni Bowcher QUALIFIED
Antonio L SchemmerJapanAsiya Javayant QUALIFIED
Kadeem V KolmetzGermanyAsiya Javayant PROPOSAL
Mujtaba Q RulapaughItalyOnyama Limba NEW
Alejandro T ChuiItalyXuxue Feng QUALIFIED
Mujtaba A ChuiCanadaIvan Magalhaes UNQUALIFIED
Stacey Y SaylorsItalyElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Misaki M InouyeGermanyAmy Elsner PROPOSAL
Kaitlin B GlickUnited KingdomElwin Sharvill NEGOTIATION
Adams O FigeroaBrazilOnyama Limba PROPOSAL
Salvatore A NickaFranceStephen Shaw UNQUALIFIED
Aruna Y KuskoGermanyIvan Magalhaes PROPOSAL
Maisha O NestleSpainAnna Fali NEGOTIATION
Chavez V FlosiCanadaIoni Bowcher NEGOTIATION
Jones Z CaldareraSpainAsiya Javayant PROPOSAL
Claire G MorascaArgentinaBernardo Dominic PROPOSAL
Isabel O MarrierFranceElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire I GauchoRussia2025-04-01Commercial Press NEGOTIATION94Asiya Javayant
1001Darci P ChuiIndia2025-04-06Rousseaux, Michael Esq NEGOTIATION30Xuxue Feng
1002Isabel U InouyeArgentina2025-04-03Chanay, Jeffrey A Esq QUALIFIED93Ioni Bowcher
1003Salvatore W GlickIndia2025-04-11Benton, John B Jr QUALIFIED34Bernardo Dominic
1004Ricardo C KolmetzJapan2025-04-02Commercial Press PROPOSAL62Bernardo Dominic
1005Ashley L WieserSpain2025-04-16Commercial Press UNQUALIFIED57Elwin Sharvill
1006Claire H PoquetteUnited Kingdom2025-04-14Buckley Miller Wright QUALIFIED23Asiya Javayant
1007Jefferson W GlickRussia2025-04-01Rousseaux, Michael Esq PROPOSAL46Amy Elsner
1008Silvio V SergiAustralia2025-03-31Commercial Press RENEWAL81Bernardo Dominic
1009Maria Q BowleyArgentina2025-04-22Rousseaux, Michael Esq PROPOSAL24Amy Elsner
1010Leja S SergiGermany2025-04-09Chanay, Jeffrey A Esq UNQUALIFIED61Xuxue Feng
1011Arvin W FigeroaUnited Kingdom2025-04-26Chemel, James L Cpa NEW48Onyama Limba
1012Smith O StensethArgentina2025-04-20Truhlar And Truhlar Attys NEW86Ioni Bowcher
1013Nicolas T ShinkoJapan2025-04-11King, Christopher A Esq PROPOSAL41Elwin Sharvill
1014Deepesh G MaletIndia2025-04-13Chapman, Ross E Esq RENEWAL86Elwin Sharvill
1015Emily W SaylorsAustralia2025-04-06Chapman, Ross E Esq RENEWAL32Ioni Bowcher
1016Maisha O WieserSpain2025-04-18Feiner Bros RENEWAL90Amy Elsner
1017Emily E KolmetzRussia2025-04-04Chapman, Ross E Esq PROPOSAL24Ivan Magalhaes
1018Francesco J GarufiAustralia2025-04-10Feltz Printing Service NEW63Xuxue Feng
1019Aditya L OldroydBrazil2025-04-27Dorl, James J Esq NEW90Ivan Magalhaes
1020Salvatore Q FerenczItaly2025-04-15Benton, John B Jr NEGOTIATION21Asiya Javayant
1021Johnson Q ChuiBrazil2025-04-05Rousseaux, Michael Esq NEW75Stephen Shaw
1022Jefferson S MaletFrance2025-04-03Chapman, Ross E Esq RENEWAL20Amy Elsner
1023Ricardo K GarufiCanada2025-04-03Benton, John B Jr RENEWAL28Stephen Shaw
1024Isabel F MarrierItaly2025-04-28Dorl, James J Esq UNQUALIFIED4Xuxue Feng
1025Julie Z AmigonGermany2025-04-13Rousseaux, Michael Esq NEGOTIATION47Anna Fali
1026Cody A PaprockiFrance2025-04-23Truhlar And Truhlar Attys UNQUALIFIED31Anna Fali
1027Greenwood B VocelkaIndia2025-04-23King, Christopher A Esq QUALIFIED44Asiya Javayant
1028Wickens X CaudyCanada2025-04-17Rousseaux, Michael Esq UNQUALIFIED42Elwin Sharvill
1029Isabel Z AmigonSpain2025-04-11Chemel, James L Cpa NEW27Bernardo Dominic
1030Emily W VenereGermany2025-04-13Chemel, James L Cpa RENEWAL13Asiya Javayant
1031Clifford D KuskoRussia2025-04-14Chapman, Ross E Esq RENEWAL98Asiya Javayant
1032Silvio B CaudyArgentina2025-04-06Chapman, Ross E Esq UNQUALIFIED54Stephen Shaw
1033James V MarrierArgentina2025-04-29Printing Dimensions NEW42Onyama Limba
1034Emily G DilliardIndia2025-04-20Truhlar And Truhlar Attys NEW3Amy Elsner
1035Faith X MaletSpain2025-04-10Chemel, James L Cpa NEGOTIATION45Onyama Limba
1036Adams A NickaUnited Kingdom2025-04-10Rousseaux, Michael Esq UNQUALIFIED54Bernardo Dominic
1037Costa D SchemmerBrazil2025-04-10King, Christopher A Esq PROPOSAL5Ivan Magalhaes
1038Arvin T DoeSpain2025-04-28Rangoni Of Florence RENEWAL1Amy Elsner
1039Greenwood X AmigonUnited Kingdom2025-04-21Chanay, Jeffrey A Esq QUALIFIED0Elwin Sharvill
1040Mayumi X MarrierAustralia2025-04-19Chanay, Jeffrey A Esq NEW88Onyama Limba
1041Ricardo X DilliardJapan2025-04-28Chapman, Ross E Esq PROPOSAL54Ioni Bowcher
1042Faith E FigeroaSpain2025-04-21Dorl, James J Esq PROPOSAL54Amy Elsner
1043Izzy Z GarufiSpain2025-04-09Chanay, Jeffrey A Esq RENEWAL78Ioni Bowcher
1044Johnson L BologniaIndia2025-04-22Rangoni Of Florence UNQUALIFIED82Amy Elsner
1045Adams N WaycottJapan2025-04-08Feltz Printing Service QUALIFIED31Amy Elsner
1046Juan F AmigonRussia2025-04-14Chemel, James L Cpa QUALIFIED29Onyama Limba
1047Leja O FollerIndia2025-04-16Dorl, James J Esq NEGOTIATION66Ivan Magalhaes
1048Julie E SaylorsBrazil2025-04-04Morlong Associates UNQUALIFIED78Anna Fali
1049Faith A MaletJapan2025-04-24Morlong Associates NEGOTIATION77Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Deepesh N FerenczAustraliaBernardo Dominic NEGOTIATION
Jeanfrancois Z MacleadItalyAnna Fali UNQUALIFIED
Clifford Z IturbideRussiaIoni Bowcher UNQUALIFIED
David A ButtUnited KingdomAnna Fali UNQUALIFIED
Aruna D GillianIndiaIoni Bowcher QUALIFIED
Chavez F DilliardArgentinaStephen Shaw RENEWAL
Alejandro S GauchoJapanAnna Fali NEW
Kaitlin G ShinkoJapanBernardo Dominic UNQUALIFIED
Isabel J DilliardGermanyIoni Bowcher RENEWAL
Misaki S SlusarskiSpainAsiya Javayant QUALIFIED
Greenwood Z MacleadBrazilAnna Fali NEW
Francesco R ButtGermanyBernardo Dominic UNQUALIFIED
Kaitlin Y NestleGermanyBernardo Dominic RENEWAL
Ivar O VocelkaGermanyIvan Magalhaes PROPOSAL
Ashley I RulapaughUnited KingdomAmy Elsner RENEWAL
Morrow Q StensethIndiaAmy Elsner RENEWAL
Arvin V GillianIndiaBernardo Dominic UNQUALIFIED
Clifford R InouyeBrazilAsiya Javayant QUALIFIED
Nicolas W GillianFranceBernardo Dominic PROPOSAL
Aika H VenereGermanyIoni Bowcher QUALIFIED
Murillo K AmigonItalyAsiya Javayant UNQUALIFIED
Ivar E MorascaRussiaElwin Sharvill PROPOSAL
Rodrigues O WhobreyArgentinaBernardo Dominic NEGOTIATION
Misaki R FollerBrazilXuxue Feng NEGOTIATION
Ivar L SlusarskiJapanAmy Elsner QUALIFIED
Darci E RoysterAustraliaAnna Fali NEGOTIATION
Aika J SchemmerUnited KingdomOnyama Limba NEGOTIATION
Silvio A MaletItalyOnyama Limba RENEWAL
Jeanfrancois M IturbideRussiaAmy Elsner QUALIFIED
Munro N OstroskyJapanAmy Elsner NEW
Jennifer B IturbideCanadaAmy Elsner NEW
Smith T TollnerArgentinaElwin Sharvill NEW
Faith Z MacleadSpainOnyama Limba QUALIFIED
Smith Y MarrierJapanXuxue Feng QUALIFIED
Octavia F DilliardIndiaElwin Sharvill NEW
Chavez H FigeroaAustraliaAsiya Javayant NEW
Nicolas I WieserGermanyXuxue Feng PROPOSAL
Leon N AmigonUnited KingdomAnna Fali PROPOSAL
Costa L KolmetzRussiaBernardo Dominic PROPOSAL
Claire G IturbideItalyIoni Bowcher RENEWAL
Stacey L MacleadJapanIoni Bowcher NEGOTIATION
Ivar X DarakjyCanadaAsiya Javayant QUALIFIED
Adams P RulapaughItalyIoni Bowcher NEW
Arvin C AlbaresArgentinaIvan Magalhaes NEW
James O ShinkoGermanyAmy Elsner UNQUALIFIED
Salvatore A SchemmerJapanStephen Shaw PROPOSAL
Salvatore L CampainIndiaBernardo Dominic RENEWAL
Murillo H DoeRussiaXuxue Feng NEGOTIATION
Leja C GauchoIndiaOnyama Limba PROPOSAL
Cody M OldroydAustraliaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Cody I Saylors
Smith O Doe
Antonio R Malet
Murillo E Waycott
Smith K Iturbide
Nicolas K Stockham
Greenwood F Ruta
Tony N Iturbide
Clifford S Bowley
Maria P Foller
Jefferson P Bolognia
Aditya F Paprocki
James E Wieser
Faith K Oldroyd
Antonio Z Nicka
Salvatore S Figeroa
Tony M Gaucho
Stacey W Slusarski
Ivar C Maclead
Munro J Bolognia
Leja W Maclead
Sinclair E Venere
Darci A Malet
Cody S Caldarera
Chavez A Paprocki
Morrow V Ruta
Juan S Marrier
Nicolas Q Slusarski
Jennifer T Inouye
Jeanfrancois Q Wieser
Cody L Campain
Octavia R Albares
Johnson C Sergi
Stacey E Shinko
Ivar Q Malet
Salvatore C Darakjy
James O Tollner
Antonio H Glick
Emily K Sergi
Aika X Stockham
Emily T Amigon
Tony T Campain
Costa F Paprocki
Alejandro T Darakjy
Maisha W Sergi
Sinclair Y Caudy
David X Malet
Leja J Amigon
Aruna N Schemmer
Izzy C Vocelka
IdCountryDate
1000Russia2025-04-27
1001Australia2025-04-08
1002Italy2025-04-09
1003India2025-04-17
1004Brazil2025-04-27
1005United Kingdom2025-03-31
1006Germany2025-04-11
1007Brazil2025-04-01
1008Russia2025-04-18
1009Russia2025-04-24
1010Russia2025-04-05
1011Russia2025-04-28
1012Canada2025-04-13
1013France2025-04-08
1014Canada2025-03-31
1015Germany2025-04-06
1016United Kingdom2025-04-17
1017Argentina2025-04-18
1018Brazil2025-04-12
1019Italy2025-04-19
1020Italy2025-04-18
1021Canada2025-04-21
1022Russia2025-04-11
1023Japan2025-04-27
1024Argentina2025-04-12
1025Italy2025-04-22
1026Canada2025-04-29
1027Spain2025-04-11
1028Russia2025-04-06
1029Japan2025-04-11
1030France2025-04-13
1031India2025-04-14
1032France2025-04-04
1033Brazil2025-04-29
1034Germany2025-04-25
1035Australia2025-04-13
1036Argentina2025-04-06
1037Japan2025-04-03
1038Russia2025-03-31
1039Russia2025-04-19
1040Russia2025-04-02
1041Germany2025-04-23
1042Australia2025-04-01
1043Japan2025-04-18
1044Italy2025-04-28
1045Brazil2025-04-17
1046France2025-04-03
1047Japan2025-04-26
1048Japan2025-04-12
1049Italy2025-04-27

On-Demand Data

NameIdCountryDate
Jennifer E Flosi1000Italy2025-04-27
Deepesh C Venere1001Italy2025-04-14
Costa T Iturbide1002Spain2025-04-09
Octavia Y Briddick1003France2025-04-03
Jennifer C Inouye1004Argentina2025-04-24
Jefferson G Flosi1005United Kingdom2025-04-02
Claire Z Stenseth1006Germany2025-04-18
Kadeem K Kusko1007Australia2025-04-04
Jefferson I Caudy1008India2025-04-17
Tony T Chui1009Japan2025-04-13
Aruna P Figeroa1010United Kingdom2025-04-09
Darci A Amigon1011Russia2025-04-20
Deepesh E Glick1012Germany2025-04-04
Wickens N Perin1013Argentina2025-04-03
Johnson P Schemmer1014Australia2025-04-23
Misaki Q Amigon1015Italy2025-04-02
Maisha C Malet1016Russia2025-04-25
Aditya M Perin1017France2025-04-12
Emily H Doe1018Japan2025-04-18
David O Whobrey1019United Kingdom2025-04-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco U CampainFranceIvan Magalhaes PROPOSAL
James A NickaSpainAmy Elsner QUALIFIED
Kadeem U FollerFranceStephen Shaw QUALIFIED
David Y BowleyIndiaXuxue Feng RENEWAL
Murillo Y OstroskyJapanAnna Fali NEGOTIATION
Johnson B SaylorsSpainAnna Fali PROPOSAL
Morrow L GillianSpainAsiya Javayant PROPOSAL
Faith R ChuiAustraliaStephen Shaw PROPOSAL
Costa P OldroydFranceAsiya Javayant NEGOTIATION
Alejandro W GarufiFranceBernardo Dominic UNQUALIFIED
Silvio Q SlusarskiIndiaAnna Fali NEGOTIATION
Murillo S RimIndiaXuxue Feng UNQUALIFIED
Mujtaba W OstroskyAustraliaElwin Sharvill UNQUALIFIED
Claire B PaprockiGermanyIvan Magalhaes NEGOTIATION
Chavez S MaletGermanyAnna Fali QUALIFIED
Wickens D MorascaBrazilBernardo Dominic RENEWAL
Maria K GarufiCanadaBernardo Dominic NEGOTIATION
Aika W MorascaUnited KingdomAmy Elsner QUALIFIED
Murillo S KolmetzGermanyAnna Fali RENEWAL
Juan K DoeSpainIvan Magalhaes QUALIFIED
Mayumi U KuskoArgentinaAnna Fali PROPOSAL
Aditya G ShinkoArgentinaElwin Sharvill NEW
Antonio E ButtBrazilOnyama Limba PROPOSAL
Clifford H DilliardSpainAsiya Javayant PROPOSAL
Arvin F GauchoRussiaXuxue Feng QUALIFIED
Leja W GillianAustraliaElwin Sharvill NEW
Morrow P FigeroaAustraliaBernardo Dominic NEW
Jones L FigeroaArgentinaStephen Shaw UNQUALIFIED
Juan E FerenczJapanElwin Sharvill RENEWAL
Smith R InouyeCanadaAmy Elsner NEGOTIATION
Mayumi N MorascaArgentinaBernardo Dominic PROPOSAL
James D BriddickFranceStephen Shaw RENEWAL
Jeanfrancois W FlosiFranceIoni Bowcher PROPOSAL
Costa J SaylorsSpainAmy Elsner NEW
Smith N GlickIndiaIoni Bowcher NEW
Cody X MacleadSpainElwin Sharvill RENEWAL
Jennifer X MaletBrazilStephen Shaw NEGOTIATION
Francesco P SchemmerIndiaAsiya Javayant PROPOSAL
Kadeem L WaycottBrazilXuxue Feng NEGOTIATION
Darci R StensethFranceElwin Sharvill NEW

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