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
Kadeem Z MorascaArgentinaAmy Elsner NEW
Maisha P DoeJapanAnna Fali NEW
Sinclair I GauchoSpainXuxue Feng QUALIFIED
Clifford C BriddickAustraliaAnna Fali NEGOTIATION
Aruna Y BowleyGermanyIoni Bowcher UNQUALIFIED
Faith L ChuiUnited KingdomOnyama Limba RENEWAL
Arvin V RoysterItalyXuxue Feng UNQUALIFIED
Claire S BologniaJapanXuxue Feng NEW
Costa F ShinkoItalyAsiya Javayant RENEWAL
Aruna N GauchoRussiaAnna Fali RENEWAL
Murillo Q MorascaUnited KingdomAmy Elsner NEW
Morrow R RimJapanOnyama Limba QUALIFIED
Isabel L RimIndiaAsiya Javayant PROPOSAL
Maria L FerenczIndiaIvan Magalhaes NEW
Alejandro I WieserItalyElwin Sharvill NEW
Maisha T StockhamCanadaBernardo Dominic NEGOTIATION
Alejandro E ButtBrazilIvan Magalhaes RENEWAL
Faith Y AlbaresFranceStephen Shaw PROPOSAL
Ivar S SlusarskiSpainAmy Elsner NEW
David U FollerIndiaAmy Elsner NEW
Johnson W ChuiFranceAnna Fali NEGOTIATION
Wickens F SchemmerUnited KingdomAmy Elsner NEW
Murillo O FlosiGermanyIvan Magalhaes UNQUALIFIED
Wickens B CaudyItalyAnna Fali UNQUALIFIED
James V PaprockiRussiaAsiya Javayant QUALIFIED
Tony R RoysterBrazilAsiya Javayant PROPOSAL
Emily D FigeroaJapanOnyama Limba PROPOSAL
Wickens O RoysterArgentinaAnna Fali NEGOTIATION
Isabel U GarufiRussiaXuxue Feng PROPOSAL
Maisha P PaprockiIndiaAnna Fali RENEWAL
Tony A BologniaIndiaElwin Sharvill QUALIFIED
Rodrigues W ButtRussiaStephen Shaw PROPOSAL
Wickens B FollerItalyAsiya Javayant UNQUALIFIED
Wickens U AlbaresIndiaOnyama Limba RENEWAL
Smith D ChuiCanadaAmy Elsner UNQUALIFIED
Maria D OstroskyFranceAmy Elsner NEGOTIATION
Aditya B FollerAustraliaStephen Shaw QUALIFIED
Cody J StockhamAustraliaBernardo Dominic QUALIFIED
Adams R PoquetteItalyAsiya Javayant QUALIFIED
Faith F AmigonCanadaAmy Elsner NEGOTIATION
Johnson N BriddickItalyAsiya Javayant UNQUALIFIED
Ashley A WaycottIndiaAnna Fali PROPOSAL
Juan A MacleadJapanIvan Magalhaes NEGOTIATION
Aika Y GlickJapanAsiya Javayant QUALIFIED
Nicolas Z GillianBrazilElwin Sharvill NEGOTIATION
Nicolas P StockhamBrazilAsiya Javayant NEW
Alejandro F GlickItalyIvan Magalhaes PROPOSAL
Aruna Q WhobreyAustraliaIvan Magalhaes NEGOTIATION
Alejandro F RutaArgentinaAnna Fali RENEWAL
Arvin D MarrierFranceAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Izzy G RulapaughIndiaIoni Bowcher PROPOSAL
David K MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Smith P NickaItalyXuxue Feng PROPOSAL
Wickens W FollerAustraliaIvan Magalhaes NEGOTIATION
Costa A PaprockiCanadaXuxue Feng PROPOSAL
Chavez R ButtRussiaAsiya Javayant UNQUALIFIED
Aruna G BologniaBrazilIvan Magalhaes PROPOSAL
Emily Y CaudyJapanBernardo Dominic NEGOTIATION
Juan Y PoquetteSpainAnna Fali PROPOSAL
Izzy E AlbaresUnited KingdomAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba D SchemmerRussia2024-06-06Buckley Miller Wright PROPOSAL62Ioni Bowcher
1001Maria N SaylorsBrazil2024-06-18Truhlar And Truhlar Attys UNQUALIFIED25Onyama Limba
1002Julie U KolmetzFrance2024-05-24Printing Dimensions RENEWAL7Ioni Bowcher
1003Johnson Y BowleyArgentina2024-06-17Morlong Associates PROPOSAL30Elwin Sharvill
1004Jeanfrancois Z WieserArgentina2024-06-10Benton, John B Jr PROPOSAL62Onyama Limba
1005Ricardo U AmigonJapan2024-06-05Rousseaux, Michael Esq NEW46Ivan Magalhaes
1006Johnson D PoquetteSpain2024-06-20Chanay, Jeffrey A Esq RENEWAL59Anna Fali
1007Juan R FlosiUnited Kingdom2024-06-08Chemel, James L Cpa PROPOSAL27Ivan Magalhaes
1008Deepesh F FigeroaUnited Kingdom2024-06-08Benton, John B Jr NEW89Bernardo Dominic
1009Leon O SlusarskiIndia2024-06-09Chanay, Jeffrey A Esq NEW98Asiya Javayant
1010Jennifer F AlbaresUnited Kingdom2024-06-08Feltz Printing Service UNQUALIFIED54Elwin Sharvill
1011Juan X SchemmerItaly2024-06-16Feltz Printing Service UNQUALIFIED48Onyama Limba
1012Mayumi O ButtJapan2024-06-22Truhlar And Truhlar Attys NEGOTIATION28Bernardo Dominic
1013Silvio E PoquetteRussia2024-05-29Benton, John B Jr NEW1Amy Elsner
1014Clifford V RutaRussia2024-05-29Chapman, Ross E Esq NEW36Anna Fali
1015Jeanfrancois A VenereSpain2024-06-09Benton, John B Jr PROPOSAL8Elwin Sharvill
1016Kadeem S BologniaAustralia2024-05-24Chanay, Jeffrey A Esq QUALIFIED22Stephen Shaw
1017Leon F MaletBrazil2024-06-16Feiner Bros PROPOSAL77Bernardo Dominic
1018Leja B GlickUnited Kingdom2024-06-21Commercial Press RENEWAL44Elwin Sharvill
1019Salvatore I ButtFrance2024-05-24Buckley Miller Wright QUALIFIED0Ivan Magalhaes
1020Kadeem T StensethJapan2024-06-17Dorl, James J Esq NEGOTIATION3Anna Fali
1021Sinclair V CampainIndia2024-06-06Feiner Bros PROPOSAL4Stephen Shaw
1022Octavia E WhobreyAustralia2024-06-04Printing Dimensions RENEWAL26Stephen Shaw
1023Isabel Q NickaCanada2024-06-02Rangoni Of Florence UNQUALIFIED10Ivan Magalhaes
1024Maisha O FlosiRussia2024-06-17Morlong Associates NEGOTIATION95Xuxue Feng
1025Nicolas R MarrierRussia2024-06-02Dorl, James J Esq UNQUALIFIED93Stephen Shaw
1026Chavez Q BologniaUnited Kingdom2024-06-04Buckley Miller Wright NEW14Ioni Bowcher
1027Antonio Q RulapaughJapan2024-06-13Truhlar And Truhlar Attys UNQUALIFIED2Ioni Bowcher
1028Aditya H GlickJapan2024-06-10Chemel, James L Cpa NEGOTIATION26Asiya Javayant
1029Nicolas F MorascaJapan2024-06-05Dorl, James J Esq QUALIFIED68Asiya Javayant
1030Chavez O IturbideSpain2024-06-16Feltz Printing Service UNQUALIFIED85Anna Fali
1031Costa F SlusarskiIndia2024-06-19Benton, John B Jr QUALIFIED38Amy Elsner
1032Rodrigues L WaycottRussia2024-06-12Truhlar And Truhlar Attys QUALIFIED66Bernardo Dominic
1033Jones T DoeUnited Kingdom2024-06-19Rangoni Of Florence QUALIFIED53Asiya Javayant
1034Claire G WaycottBrazil2024-06-03Chemel, James L Cpa QUALIFIED96Amy Elsner
1035Aika E RutaUnited Kingdom2024-06-13Chanay, Jeffrey A Esq QUALIFIED31Ivan Magalhaes
1036Maria E SchemmerFrance2024-05-29Feltz Printing Service NEGOTIATION37Bernardo Dominic
1037Leja O BologniaIndia2024-05-28Rousseaux, Michael Esq RENEWAL77Elwin Sharvill
1038Jones H VocelkaJapan2024-05-28Chapman, Ross E Esq PROPOSAL18Xuxue Feng
1039David B GauchoIndia2024-06-22Truhlar And Truhlar Attys UNQUALIFIED16Xuxue Feng
1040Julie C WieserAustralia2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED79Asiya Javayant
1041Izzy I FerenczAustralia2024-06-09Feltz Printing Service QUALIFIED88Bernardo Dominic
1042Cody J RoysterRussia2024-06-20Morlong Associates UNQUALIFIED68Stephen Shaw
1043Ivar E WhobreyAustralia2024-06-20Rousseaux, Michael Esq UNQUALIFIED34Asiya Javayant
1044Misaki J RulapaughRussia2024-06-22Chanay, Jeffrey A Esq PROPOSAL85Onyama Limba
1045Clifford P RutaBrazil2024-06-15Commercial Press NEW23Ioni Bowcher
1046James J FerenczFrance2024-06-01Commercial Press PROPOSAL40Bernardo Dominic
1047Cody G GarufiUnited Kingdom2024-06-02Commercial Press UNQUALIFIED48Asiya Javayant
1048Jeanfrancois J GauchoUnited Kingdom2024-06-13King, Christopher A Esq RENEWAL70Onyama Limba
1049Silvio P NestleAustralia2024-05-29Feltz Printing Service NEGOTIATION78Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Morrow U RutaFranceOnyama Limba PROPOSAL
Francesco M MorascaUnited KingdomAnna Fali PROPOSAL
Claire B BologniaRussiaAnna Fali UNQUALIFIED
Cody L CampainBrazilOnyama Limba RENEWAL
Wickens H GillianGermanyStephen Shaw UNQUALIFIED
Ricardo Y VocelkaArgentinaIvan Magalhaes UNQUALIFIED
David V PoquetteRussiaIvan Magalhaes NEGOTIATION
Isabel Y BriddickGermanyAmy Elsner PROPOSAL
Antonio U MaletFranceIoni Bowcher NEW
Silvio C PaprockiAustraliaAnna Fali QUALIFIED
Leja J SchemmerBrazilAsiya Javayant UNQUALIFIED
Izzy D AmigonIndiaBernardo Dominic NEGOTIATION
Munro C ChuiGermanyStephen Shaw RENEWAL
Aika N BriddickAustraliaOnyama Limba NEW
Misaki G RoysterIndiaStephen Shaw NEW
Mayumi R GarufiArgentinaAmy Elsner QUALIFIED
Mujtaba Z DarakjyUnited KingdomIvan Magalhaes RENEWAL
Aditya J FigeroaBrazilBernardo Dominic NEW
Leja G FlosiIndiaOnyama Limba UNQUALIFIED
Chavez E StensethRussiaStephen Shaw NEW
Aditya M GlickAustraliaAsiya Javayant PROPOSAL
Murillo N IturbideFranceIvan Magalhaes QUALIFIED
Leja B VenereIndiaOnyama Limba PROPOSAL
Francesco Z RutaSpainOnyama Limba RENEWAL
Darci O PaprockiGermanyStephen Shaw PROPOSAL
Aika M GlickUnited KingdomAsiya Javayant QUALIFIED
James D ChuiJapanAsiya Javayant RENEWAL
Jeanfrancois H RutaSpainIvan Magalhaes QUALIFIED
Rodrigues C AmigonFranceXuxue Feng PROPOSAL
Emily I CampainIndiaAmy Elsner NEW
Kaitlin C RoysterItalyStephen Shaw NEGOTIATION
Ivar A MorascaSpainElwin Sharvill RENEWAL
Rodrigues L FigeroaIndiaBernardo Dominic NEGOTIATION
Isabel Y TollnerArgentinaOnyama Limba NEW
Izzy V NestleAustraliaStephen Shaw PROPOSAL
Jennifer X GarufiAustraliaAsiya Javayant NEW
Cody Q DarakjyArgentinaIoni Bowcher QUALIFIED
Jones E OstroskyGermanyIoni Bowcher QUALIFIED
Adams T PaprockiJapanElwin Sharvill PROPOSAL
Greenwood X ButtFranceOnyama Limba NEGOTIATION
Johnson I RoysterFranceIoni Bowcher NEW
Octavia B GauchoIndiaStephen Shaw RENEWAL
Leon A PerinGermanyStephen Shaw QUALIFIED
Wickens P IturbideAustraliaIoni Bowcher PROPOSAL
Tony D GlickItalyBernardo Dominic RENEWAL
Ricardo E RimUnited KingdomBernardo Dominic UNQUALIFIED
Stacey N MorascaAustraliaIoni Bowcher NEGOTIATION
Sinclair O CaldareraFranceStephen Shaw NEW
Johnson S FigeroaFranceAnna Fali NEW
Jefferson X NickaItalyIvan Magalhaes QUALIFIED
Frozen Columns
Name
Julie I Rulapaugh
Smith M Ferencz
Silvio U Bowley
Jennifer U Briddick
Ivar V Rulapaugh
Adams K Figeroa
Darci W Stenseth
Leja V Butt
Isabel L Caudy
Jefferson S Vocelka
Deepesh V Morasca
Munro U Ruta
Faith C Doe
Maisha I Butt
Leja N Ferencz
Wickens J Ruta
Leja W Bolognia
James P Malet
Rodrigues W Tollner
Izzy F Ferencz
Nicolas D Tollner
Wickens U Darakjy
Jennifer J Rulapaugh
Izzy R Whobrey
Rodrigues U Kusko
Ashley T Slusarski
Claire R Kusko
Smith M Marrier
Maisha W Kolmetz
Claire E Butt
Emily X Foller
Sinclair C Royster
Juan N Iturbide
Aika X Shinko
Izzy F Campain
Silvio V Doe
Leon S Inouye
Ashley P Chui
Aditya V Gillian
Kaitlin O Kolmetz
Faith P Stockham
Tony V Schemmer
Aika P Rulapaugh
Costa T Gillian
Arvin P Saylors
Aika E Ruta
Francesco M Gillian
Maria N Stenseth
Clifford R Saylors
Johnson G Bolognia
IdCountryDate
1000Australia2024-06-22
1001Russia2024-05-27
1002France2024-06-13
1003Spain2024-06-19
1004France2024-06-03
1005Germany2024-05-26
1006Canada2024-06-17
1007Germany2024-06-17
1008Argentina2024-06-16
1009Germany2024-05-25
1010India2024-06-19
1011Italy2024-06-11
1012United Kingdom2024-06-11
1013France2024-06-08
1014Spain2024-06-01
1015Canada2024-06-09
1016France2024-05-30
1017Italy2024-06-11
1018Japan2024-06-13
1019United Kingdom2024-06-03
1020United Kingdom2024-06-13
1021United Kingdom2024-06-02
1022Australia2024-06-15
1023Brazil2024-06-19
1024Australia2024-06-10
1025India2024-05-30
1026Canada2024-05-30
1027France2024-06-11
1028Italy2024-06-17
1029France2024-06-21
1030Australia2024-06-13
1031Australia2024-05-24
1032United Kingdom2024-06-03
1033France2024-06-05
1034Australia2024-06-03
1035United Kingdom2024-05-26
1036France2024-06-14
1037Italy2024-06-17
1038United Kingdom2024-06-18
1039Germany2024-06-14
1040Japan2024-06-17
1041Japan2024-06-10
1042United Kingdom2024-05-26
1043India2024-06-06
1044Germany2024-06-09
1045India2024-06-03
1046Argentina2024-05-27
1047Canada2024-05-28
1048Spain2024-06-16
1049Brazil2024-05-29

On-Demand Data

NameIdCountryDate
Faith O Perin1000Spain2024-05-27
James P Vocelka1001France2024-06-12
Aika G Albares1002Argentina2024-05-28
Darci X Stockham1003United Kingdom2024-06-15
Juan V Sergi1004France2024-06-09
Rodrigues N Caldarera1005Spain2024-05-25
Maisha E Royster1006France2024-05-29
Juan P Rim1007Argentina2024-06-22
Clifford M Poquette1008India2024-06-06
Isabel J Vocelka1009Japan2024-05-24
Isabel E Flosi1010Argentina2024-06-03
Faith P Saylors1011France2024-06-11
Julie U Rulapaugh1012United Kingdom2024-06-11
Stacey E Venere1013Germany2024-05-27
Ashley L Rim1014Japan2024-05-28
Francesco A Amigon1015Spain2024-06-01
Juan P Foller1016Canada2024-06-18
Antonio B Nicka1017Italy2024-05-29
Murillo U Shinko1018India2024-05-27
Arvin A Royster1019India2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem Z BologniaArgentinaOnyama Limba QUALIFIED
Isabel A WhobreyRussiaXuxue Feng UNQUALIFIED
Sinclair C CaldareraItalyXuxue Feng RENEWAL
Jeanfrancois X AmigonCanadaAsiya Javayant UNQUALIFIED
Aruna G WhobreyCanadaBernardo Dominic QUALIFIED
Sinclair B FollerItalyAmy Elsner QUALIFIED
Claire T InouyeRussiaAnna Fali RENEWAL
Alejandro J GlickSpainAsiya Javayant NEW
Ashley Z VocelkaUnited KingdomAnna Fali PROPOSAL
James W VocelkaItalyStephen Shaw NEW
Smith D RimRussiaIvan Magalhaes NEGOTIATION
Aruna D SaylorsItalyIvan Magalhaes QUALIFIED
Munro V SaylorsGermanyElwin Sharvill NEGOTIATION
James X RutaIndiaElwin Sharvill UNQUALIFIED
Aika K PerinCanadaStephen Shaw NEGOTIATION
Darci Z FollerCanadaXuxue Feng RENEWAL
Silvio R MaletRussiaAmy Elsner PROPOSAL
Ashley Z DilliardBrazilAnna Fali PROPOSAL
Smith O StockhamAustraliaAsiya Javayant UNQUALIFIED
Aditya H NestleJapanIoni Bowcher RENEWAL
Maisha K FerenczBrazilElwin Sharvill NEW
Jones N FlosiArgentinaElwin Sharvill QUALIFIED
Jennifer T SaylorsIndiaAnna Fali NEW
Jefferson O NestleIndiaIoni Bowcher QUALIFIED
Octavia J IturbideArgentinaIvan Magalhaes UNQUALIFIED
Sinclair O MaletBrazilOnyama Limba RENEWAL
Faith K MaletUnited KingdomStephen Shaw QUALIFIED
Deepesh L ShinkoBrazilBernardo Dominic NEW
Antonio F NestleGermanyIvan Magalhaes NEW
Mujtaba Y MorascaUnited KingdomAmy Elsner UNQUALIFIED
David C OldroydArgentinaIvan Magalhaes QUALIFIED
Ivar R KuskoSpainXuxue Feng RENEWAL
Leon M ShinkoAustraliaOnyama Limba NEW
Murillo Q AmigonBrazilStephen Shaw RENEWAL
Costa G DoeSpainAsiya Javayant NEGOTIATION
Sinclair O MacleadJapanAnna Fali NEW
Misaki V BologniaFranceXuxue Feng QUALIFIED
Jeanfrancois J FlosiCanadaBernardo Dominic RENEWAL
Aika V MaletArgentinaAnna Fali PROPOSAL
Deepesh W InouyeFranceBernardo Dominic PROPOSAL

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