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
Cody G SchemmerSpainStephen Shaw NEW
Aruna R ChuiGermanyAmy Elsner NEGOTIATION
Claire Z MarrierBrazilOnyama Limba PROPOSAL
Deepesh M CampainCanadaAnna Fali NEGOTIATION
Isabel C PaprockiGermanyOnyama Limba NEGOTIATION
Leon Y PoquetteArgentinaAmy Elsner NEGOTIATION
Kadeem C BriddickGermanyBernardo Dominic UNQUALIFIED
Smith A WaycottSpainOnyama Limba UNQUALIFIED
Ivar Y FigeroaBrazilElwin Sharvill UNQUALIFIED
Cody P CaldareraIndiaStephen Shaw RENEWAL
Costa Y InouyeSpainXuxue Feng UNQUALIFIED
Jennifer J CampainBrazilElwin Sharvill RENEWAL
Mayumi M OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Adams F GauchoArgentinaElwin Sharvill NEW
Rodrigues U NestleGermanyOnyama Limba RENEWAL
Maisha K BriddickItalyBernardo Dominic NEGOTIATION
Silvio N SlusarskiFranceXuxue Feng RENEWAL
Morrow P DoeJapanStephen Shaw NEGOTIATION
Jefferson C GillianGermanyAmy Elsner NEGOTIATION
Faith T AmigonUnited KingdomBernardo Dominic PROPOSAL
Tony K BologniaSpainBernardo Dominic NEGOTIATION
Ivar K RoysterFranceBernardo Dominic QUALIFIED
Juan Y MorascaFranceIoni Bowcher RENEWAL
Darci J WieserIndiaAmy Elsner PROPOSAL
Salvatore N WaycottAustraliaAsiya Javayant NEW
Misaki K CampainFranceAnna Fali PROPOSAL
Tony I NickaRussiaAnna Fali RENEWAL
Maria N GillianArgentinaIvan Magalhaes RENEWAL
Adams Z RutaIndiaAnna Fali NEW
Faith J PaprockiSpainAsiya Javayant PROPOSAL
Faith J MacleadJapanIvan Magalhaes PROPOSAL
Emily O VocelkaJapanXuxue Feng QUALIFIED
Antonio I RulapaughUnited KingdomIoni Bowcher UNQUALIFIED
Isabel Z KuskoJapanElwin Sharvill PROPOSAL
Morrow K GauchoJapanElwin Sharvill RENEWAL
Kadeem J DilliardArgentinaXuxue Feng QUALIFIED
Jones N TollnerJapanAsiya Javayant NEW
Ivar X CaldareraCanadaIoni Bowcher PROPOSAL
Maisha P RutaSpainStephen Shaw RENEWAL
Antonio K GauchoItalyIoni Bowcher PROPOSAL
Aika B AlbaresAustraliaAmy Elsner QUALIFIED
Isabel W ChuiGermanyBernardo Dominic QUALIFIED
Salvatore F FerenczCanadaXuxue Feng RENEWAL
Morrow P InouyeIndiaStephen Shaw RENEWAL
Stacey T WieserIndiaElwin Sharvill UNQUALIFIED
Murillo W WaycottGermanyIoni Bowcher UNQUALIFIED
Octavia Y ButtSpainAnna Fali NEW
Leja X RulapaughCanadaStephen Shaw PROPOSAL
Maisha V VocelkaAustraliaAsiya Javayant NEGOTIATION
Wickens K OldroydUnited KingdomElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David H ChuiGermanyIvan Magalhaes QUALIFIED
Emily R SaylorsCanadaElwin Sharvill UNQUALIFIED
Francesco A CaudyFranceIvan Magalhaes PROPOSAL
Silvio X SlusarskiGermanyStephen Shaw PROPOSAL
Rodrigues M WaycottCanadaAmy Elsner NEW
Adams C SlusarskiIndiaIoni Bowcher NEGOTIATION
Deepesh Z PerinArgentinaStephen Shaw QUALIFIED
David V BriddickUnited KingdomXuxue Feng RENEWAL
Isabel G DilliardAustraliaIvan Magalhaes RENEWAL
Juan U MorascaUnited KingdomOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones M MarrierAustralia2024-05-08King, Christopher A Esq UNQUALIFIED43Xuxue Feng
1001Adams R AlbaresArgentina2024-05-09Benton, John B Jr UNQUALIFIED59Ivan Magalhaes
1002David X VocelkaRussia2024-05-08Chanay, Jeffrey A Esq NEW88Ioni Bowcher
1003Nicolas O BowleyIndia2024-05-11Rangoni Of Florence RENEWAL1Stephen Shaw
1004Claire N DarakjyAustralia2024-05-09Benton, John B Jr RENEWAL80Bernardo Dominic
1005Jefferson H PoquetteGermany2024-05-16Buckley Miller Wright PROPOSAL1Bernardo Dominic
1006Ivar I RulapaughJapan2024-05-10Chapman, Ross E Esq QUALIFIED19Elwin Sharvill
1007Mayumi J SaylorsGermany2024-05-02Chapman, Ross E Esq RENEWAL18Elwin Sharvill
1008Maria Z PoquetteItaly2024-05-02Chapman, Ross E Esq UNQUALIFIED96Asiya Javayant
1009Deepesh F SlusarskiSpain2024-05-18Dorl, James J Esq NEGOTIATION95Elwin Sharvill
1010Ivar Y StensethAustralia2024-04-26King, Christopher A Esq UNQUALIFIED76Stephen Shaw
1011Alejandro A DoeUnited Kingdom2024-05-01King, Christopher A Esq UNQUALIFIED56Elwin Sharvill
1012Smith G FigeroaItaly2024-05-17Benton, John B Jr NEGOTIATION21Onyama Limba
1013Tony O BriddickAustralia2024-05-19Rangoni Of Florence NEW51Ioni Bowcher
1014Ricardo M DarakjyIndia2024-05-08Printing Dimensions UNQUALIFIED82Stephen Shaw
1015Alejandro G PoquetteBrazil2024-05-20King, Christopher A Esq UNQUALIFIED56Amy Elsner
1016Jones C BowleyArgentina2024-05-08King, Christopher A Esq PROPOSAL80Asiya Javayant
1017Adams G CaldareraBrazil2024-04-28Truhlar And Truhlar Attys RENEWAL65Ivan Magalhaes
1018Smith O KuskoJapan2024-05-05Chemel, James L Cpa RENEWAL93Elwin Sharvill
1019James G MorascaItaly2024-05-05Chemel, James L Cpa PROPOSAL52Ivan Magalhaes
1020Aditya M MarrierFrance2024-05-02Feiner Bros PROPOSAL13Amy Elsner
1021Chavez V MacleadCanada2024-05-05Dorl, James J Esq UNQUALIFIED90Asiya Javayant
1022Greenwood R SergiGermany2024-04-25Commercial Press PROPOSAL32Ivan Magalhaes
1023Adams F ButtUnited Kingdom2024-05-09Feltz Printing Service NEGOTIATION65Asiya Javayant
1024Ricardo D ChuiSpain2024-05-20Chapman, Ross E Esq UNQUALIFIED8Amy Elsner
1025Munro P SergiFrance2024-05-22Dorl, James J Esq PROPOSAL5Ivan Magalhaes
1026Rodrigues Y NickaCanada2024-05-19Chapman, Ross E Esq PROPOSAL59Elwin Sharvill
1027Mujtaba E FollerUnited Kingdom2024-04-27Benton, John B Jr NEW11Xuxue Feng
1028Tony V AlbaresGermany2024-05-06Chapman, Ross E Esq QUALIFIED56Elwin Sharvill
1029Sinclair I GillianFrance2024-05-03Benton, John B Jr NEW43Amy Elsner
1030Aditya F FigeroaCanada2024-05-19Morlong Associates RENEWAL3Ioni Bowcher
1031Silvio E StockhamArgentina2024-05-14Rangoni Of Florence RENEWAL62Ivan Magalhaes
1032Jones T DilliardUnited Kingdom2024-05-20Feiner Bros UNQUALIFIED92Xuxue Feng
1033Misaki N NestleSpain2024-05-23Truhlar And Truhlar Attys UNQUALIFIED17Anna Fali
1034Chavez N AmigonJapan2024-05-05Benton, John B Jr UNQUALIFIED35Elwin Sharvill
1035Ashley T CaldareraUnited Kingdom2024-05-20Chanay, Jeffrey A Esq QUALIFIED73Onyama Limba
1036Claire C DilliardCanada2024-05-17Buckley Miller Wright PROPOSAL78Ivan Magalhaes
1037Antonio M PoquetteJapan2024-05-09Feltz Printing Service RENEWAL53Ioni Bowcher
1038Jefferson J NestleItaly2024-05-12Chanay, Jeffrey A Esq PROPOSAL3Anna Fali
1039Mayumi J GillianSpain2024-04-25Truhlar And Truhlar Attys NEW28Ioni Bowcher
1040Costa E MaletRussia2024-05-06Dorl, James J Esq UNQUALIFIED41Anna Fali
1041Aruna H MarrierAustralia2024-05-07Benton, John B Jr NEGOTIATION58Anna Fali
1042Adams Y AlbaresUnited Kingdom2024-05-06Feiner Bros UNQUALIFIED45Elwin Sharvill
1043James C RutaCanada2024-05-03Feltz Printing Service NEGOTIATION79Stephen Shaw
1044Chavez Z CampainRussia2024-04-28Morlong Associates RENEWAL42Stephen Shaw
1045David P RimFrance2024-05-09Rousseaux, Michael Esq RENEWAL5Anna Fali
1046Claire A TollnerItaly2024-05-11Printing Dimensions NEW53Stephen Shaw
1047Rodrigues O KolmetzUnited Kingdom2024-05-18Feltz Printing Service NEW22Asiya Javayant
1048Alejandro G FerenczRussia2024-05-01Truhlar And Truhlar Attys NEGOTIATION28Stephen Shaw
1049Misaki S MaletIndia2024-05-08Chemel, James L Cpa NEGOTIATION79Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Francesco F GillianUnited KingdomIoni Bowcher NEGOTIATION
Nicolas B PoquetteAustraliaStephen Shaw QUALIFIED
Greenwood X SaylorsArgentinaIoni Bowcher NEGOTIATION
Octavia P WhobreySpainAsiya Javayant NEGOTIATION
Alejandro X FlosiUnited KingdomAnna Fali NEGOTIATION
Aika B AmigonGermanyAmy Elsner RENEWAL
Juan C VenereUnited KingdomBernardo Dominic PROPOSAL
Tony S AlbaresAustraliaIvan Magalhaes PROPOSAL
Kaitlin I TollnerRussiaAnna Fali PROPOSAL
Jeanfrancois M CampainJapanIoni Bowcher UNQUALIFIED
Alejandro E FollerCanadaIvan Magalhaes UNQUALIFIED
Alejandro V IturbideJapanIvan Magalhaes PROPOSAL
James S BologniaBrazilElwin Sharvill PROPOSAL
Isabel V NickaSpainElwin Sharvill NEGOTIATION
Munro K MorascaAustraliaBernardo Dominic NEGOTIATION
Munro C MorascaIndiaBernardo Dominic QUALIFIED
Salvatore Y PaprockiJapanAsiya Javayant RENEWAL
Ashley L MarrierBrazilXuxue Feng UNQUALIFIED
Kaitlin F AlbaresFranceAsiya Javayant PROPOSAL
Jeanfrancois B DoeIndiaIoni Bowcher PROPOSAL
Deepesh E VenereIndiaAmy Elsner PROPOSAL
Jefferson X NestleBrazilAsiya Javayant NEGOTIATION
Stacey P GlickGermanyStephen Shaw NEW
Johnson T FlosiUnited KingdomAsiya Javayant UNQUALIFIED
Silvio J InouyeBrazilIoni Bowcher RENEWAL
Costa M GarufiAustraliaIoni Bowcher RENEWAL
Chavez P OldroydCanadaBernardo Dominic NEW
Ivar T DarakjySpainOnyama Limba NEW
Jones O CaldareraAustraliaAnna Fali PROPOSAL
Arvin X FlosiAustraliaIvan Magalhaes NEW
Ivar Y FigeroaRussiaIvan Magalhaes UNQUALIFIED
Mayumi M MaletGermanyXuxue Feng PROPOSAL
Tony A NestleRussiaStephen Shaw NEW
Adams U VocelkaBrazilIoni Bowcher NEGOTIATION
Tony B MaletJapanAmy Elsner QUALIFIED
Maria G NickaAustraliaAmy Elsner NEGOTIATION
Ivar E ShinkoCanadaStephen Shaw NEW
Izzy Y AlbaresCanadaStephen Shaw NEW
Jeanfrancois W DilliardSpainIoni Bowcher UNQUALIFIED
Antonio C OstroskyUnited KingdomAnna Fali QUALIFIED
Leon E StensethCanadaOnyama Limba UNQUALIFIED
Francesco W FerenczSpainAnna Fali UNQUALIFIED
Ricardo H StockhamUnited KingdomAsiya Javayant NEGOTIATION
Jennifer F RoysterSpainAsiya Javayant NEW
Deepesh O DilliardCanadaAmy Elsner RENEWAL
Wickens B CaldareraRussiaAsiya Javayant UNQUALIFIED
Morrow B WieserBrazilIoni Bowcher NEGOTIATION
Maria M AmigonJapanBernardo Dominic UNQUALIFIED
Izzy J ChuiRussiaAnna Fali NEW
Sinclair R OstroskyFranceOnyama Limba NEW
Frozen Columns
Name
Antonio B Darakjy
Misaki L Bowley
Julie J Glick
Maria U Oldroyd
Morrow Z Figeroa
Jeanfrancois U Chui
Aika I Albares
Juan Z Vocelka
Salvatore X Bolognia
Aruna E Nicka
Aika V Dilliard
Maisha Z Iturbide
Munro H Glick
Juan S Caldarera
Mayumi V Nestle
Nicolas E Campain
Jefferson R Kusko
Juan Y Bowley
Ricardo G Chui
Arvin D Poquette
Octavia E Rim
Julie H Stockham
Jeanfrancois R Kusko
Sinclair Q Campain
Jefferson H Marrier
Johnson W Vocelka
Kadeem I Morasca
Julie Q Tollner
Cody V Oldroyd
Claire G Nestle
Arvin Y Garufi
Murillo J Schemmer
Rodrigues Z Foller
Izzy X Maclead
Ricardo K Inouye
Izzy I Kusko
Sinclair S Albares
Darci W Venere
Aika M Bolognia
Misaki E Royster
Sinclair E Rim
Sinclair C Caudy
Stacey X Bolognia
Clifford L Figeroa
Ivar F Poquette
Nicolas W Flosi
Isabel A Kolmetz
Nicolas Q Glick
Wickens T Rulapaugh
Smith D Morasca
IdCountryDate
1000Italy2024-04-30
1001Italy2024-05-17
1002Australia2024-04-28
1003Brazil2024-04-25
1004Canada2024-05-03
1005Spain2024-05-04
1006Argentina2024-05-21
1007India2024-04-28
1008Russia2024-05-19
1009Russia2024-05-10
1010Argentina2024-05-14
1011Italy2024-05-22
1012Japan2024-05-15
1013France2024-05-08
1014France2024-05-04
1015Brazil2024-05-23
1016Brazil2024-05-06
1017Argentina2024-05-14
1018Argentina2024-05-03
1019France2024-05-07
1020India2024-05-15
1021India2024-05-13
1022Canada2024-04-24
1023India2024-05-03
1024Canada2024-05-10
1025Canada2024-05-10
1026France2024-05-07
1027Spain2024-05-07
1028Germany2024-05-02
1029Canada2024-05-10
1030India2024-05-18
1031Spain2024-05-01
1032Brazil2024-04-30
1033Germany2024-05-04
1034Australia2024-05-21
1035Brazil2024-05-21
1036Brazil2024-05-14
1037United Kingdom2024-05-13
1038United Kingdom2024-04-28
1039Brazil2024-05-06
1040France2024-05-10
1041Brazil2024-05-16
1042Spain2024-05-17
1043France2024-04-29
1044Spain2024-05-15
1045Brazil2024-05-02
1046Spain2024-05-18
1047United Kingdom2024-04-29
1048Brazil2024-04-29
1049Japan2024-04-30

On-Demand Data

NameIdCountryDate
Emily Y Perin1000India2024-04-29
Arvin R Stenseth1001Spain2024-05-15
Kaitlin F Morasca1002Argentina2024-05-02
Ricardo L Schemmer1003Germany2024-05-21
Smith D Butt1004Australia2024-05-03
Antonio C Shinko1005India2024-05-02
Kaitlin P Saylors1006Brazil2024-05-17
Morrow A Chui1007Australia2024-05-22
Arvin N Maclead1008Brazil2024-05-16
Maria I Malet1009Brazil2024-04-30
Jennifer Q Albares1010Argentina2024-05-03
Clifford D Kolmetz1011France2024-05-05
Jones K Bowley1012Japan2024-05-03
David A Sergi1013India2024-04-29
James M Tollner1014Argentina2024-04-27
Claire O Marrier1015India2024-05-17
Ricardo Y Venere1016United Kingdom2024-05-17
Jefferson C Schemmer1017Japan2024-05-05
Wickens J Foller1018Brazil2024-05-10
Juan R Kusko1019United Kingdom2024-05-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin G CampainCanadaAsiya Javayant QUALIFIED
Clifford N ChuiItalyElwin Sharvill NEGOTIATION
Leja S OldroydGermanyIoni Bowcher NEGOTIATION
Alejandro C VocelkaArgentinaAmy Elsner QUALIFIED
Octavia O FlosiGermanyXuxue Feng NEW
Johnson V TollnerFranceStephen Shaw NEGOTIATION
Aditya N GarufiIndiaIoni Bowcher QUALIFIED
Antonio E MorascaJapanXuxue Feng QUALIFIED
Aika N OstroskyRussiaAsiya Javayant PROPOSAL
Octavia V RoysterIndiaOnyama Limba NEW
David Y MaletArgentinaOnyama Limba UNQUALIFIED
Greenwood U SaylorsRussiaBernardo Dominic QUALIFIED
Faith P GarufiCanadaIvan Magalhaes NEGOTIATION
Maisha P AlbaresRussiaOnyama Limba RENEWAL
Kadeem K MorascaBrazilOnyama Limba NEW
Emily S AmigonJapanBernardo Dominic NEGOTIATION
Juan Q GillianIndiaElwin Sharvill QUALIFIED
Emily A CaudyGermanyOnyama Limba NEGOTIATION
Smith S SlusarskiItalyXuxue Feng NEW
Alejandro T CaldareraSpainBernardo Dominic NEW
Arvin R RimJapanAnna Fali RENEWAL
Claire K GlickUnited KingdomIoni Bowcher NEGOTIATION
Silvio Q MorascaSpainAnna Fali PROPOSAL
Leja N ChuiIndiaAnna Fali NEGOTIATION
Ivar X NestleGermanyAsiya Javayant NEGOTIATION
Aika M GillianIndiaOnyama Limba NEW
Izzy Z GillianFranceElwin Sharvill RENEWAL
Tony T GillianBrazilOnyama Limba RENEWAL
Sinclair C MarrierGermanyOnyama Limba RENEWAL
Claire X CampainBrazilAsiya Javayant RENEWAL
Morrow Z GlickItalyAsiya Javayant NEW
Adams L InouyeRussiaElwin Sharvill NEGOTIATION
Leja R BriddickFranceBernardo Dominic PROPOSAL
Ivar C BologniaCanadaBernardo Dominic NEGOTIATION
Cody D NickaIndiaIvan Magalhaes NEW
Jennifer R GauchoFranceStephen Shaw RENEWAL
Greenwood Q RutaSpainIoni Bowcher RENEWAL
Isabel R RutaCanadaElwin Sharvill UNQUALIFIED
Izzy D GlickJapanIvan Magalhaes NEGOTIATION
Mujtaba W WaycottArgentinaElwin Sharvill 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>