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
Ashley S MaletSpainOnyama Limba RENEWAL
Jefferson B CaldareraItalyOnyama Limba PROPOSAL
Adams D RimFranceAmy Elsner QUALIFIED
Wickens T BriddickAustraliaAnna Fali NEGOTIATION
Juan P RoysterUnited KingdomStephen Shaw NEW
Costa Q BologniaIndiaIoni Bowcher RENEWAL
Greenwood D PaprockiArgentinaAmy Elsner PROPOSAL
Jones X SergiFranceAmy Elsner PROPOSAL
Stacey B SergiUnited KingdomIoni Bowcher PROPOSAL
Faith R OstroskyItalyBernardo Dominic NEGOTIATION
Jones L WhobreyUnited KingdomStephen Shaw UNQUALIFIED
Chavez C MacleadCanadaAnna Fali PROPOSAL
Jeanfrancois S IturbideRussiaAmy Elsner QUALIFIED
Kadeem O CampainItalyStephen Shaw NEGOTIATION
Darci X RutaRussiaElwin Sharvill UNQUALIFIED
Leja J GillianItalyStephen Shaw QUALIFIED
Greenwood Q NestleAustraliaAmy Elsner NEGOTIATION
James P MorascaRussiaAsiya Javayant UNQUALIFIED
James J CampainUnited KingdomElwin Sharvill RENEWAL
Faith A MacleadSpainAsiya Javayant NEW
Costa T BologniaFranceXuxue Feng RENEWAL
Clifford B RoysterGermanyIvan Magalhaes NEGOTIATION
Aruna L SlusarskiUnited KingdomStephen Shaw QUALIFIED
James A GlickIndiaStephen Shaw NEW
Aruna Z GauchoFranceOnyama Limba QUALIFIED
Tony L MacleadIndiaAmy Elsner NEGOTIATION
Chavez T CaldareraFranceElwin Sharvill RENEWAL
Tony G AmigonUnited KingdomAnna Fali QUALIFIED
Antonio T WhobreyUnited KingdomAsiya Javayant QUALIFIED
Silvio U FollerAustraliaAnna Fali PROPOSAL
Mayumi F AmigonGermanyOnyama Limba QUALIFIED
Jones N PoquetteBrazilIvan Magalhaes NEW
Emily I KolmetzAustraliaStephen Shaw PROPOSAL
David X PerinIndiaIoni Bowcher PROPOSAL
Leja M InouyeItalyAnna Fali NEGOTIATION
Tony K OldroydArgentinaOnyama Limba NEGOTIATION
Emily B KuskoGermanyIoni Bowcher QUALIFIED
Smith S SergiCanadaAsiya Javayant PROPOSAL
Ashley P RulapaughJapanStephen Shaw NEGOTIATION
Chavez N GillianArgentinaOnyama Limba NEGOTIATION
Sinclair F MaletItalyOnyama Limba PROPOSAL
Costa J RoysterUnited KingdomIvan Magalhaes RENEWAL
Aruna R StockhamBrazilXuxue Feng NEGOTIATION
Adams E GillianItalyIoni Bowcher UNQUALIFIED
Emily J OstroskyFranceAnna Fali NEW
Juan L KolmetzRussiaXuxue Feng QUALIFIED
Nicolas P WaycottJapanBernardo Dominic NEW
Julie X MaletUnited KingdomIoni Bowcher QUALIFIED
Octavia N WhobreyItalyAnna Fali NEGOTIATION
Mujtaba D CaudyFranceIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James E FlosiItalyOnyama Limba RENEWAL
Antonio P PerinRussiaAsiya Javayant UNQUALIFIED
Costa T BriddickGermanyAsiya Javayant NEW
Isabel D DoeSpainAnna Fali NEGOTIATION
Misaki O IturbideJapanXuxue Feng NEW
Nicolas R MarrierIndiaAmy Elsner NEW
David C NestleJapanAsiya Javayant PROPOSAL
Ivar Z NestleIndiaIvan Magalhaes NEGOTIATION
Jones I DoeAustraliaXuxue Feng RENEWAL
Claire U FlosiUnited KingdomAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow C NestleRussia2025-04-14Chemel, James L Cpa NEW61Onyama Limba
1001Mujtaba W GauchoArgentina2025-04-27King, Christopher A Esq UNQUALIFIED69Stephen Shaw
1002Nicolas I FollerArgentina2025-05-05Truhlar And Truhlar Attys NEGOTIATION94Stephen Shaw
1003Misaki F AmigonUnited Kingdom2025-04-29Rangoni Of Florence UNQUALIFIED28Anna Fali
1004Maria E BowleyCanada2025-05-07Rousseaux, Michael Esq QUALIFIED67Amy Elsner
1005Mayumi X MaletBrazil2025-04-27Benton, John B Jr RENEWAL81Bernardo Dominic
1006Julie O CaldareraGermany2025-04-14King, Christopher A Esq NEW72Ivan Magalhaes
1007Leja R GlickUnited Kingdom2025-04-23Morlong Associates RENEWAL24Anna Fali
1008Misaki C MacleadBrazil2025-05-05Rousseaux, Michael Esq NEGOTIATION96Ivan Magalhaes
1009Rodrigues D DilliardArgentina2025-04-21Rousseaux, Michael Esq PROPOSAL79Elwin Sharvill
1010Clifford G BriddickGermany2025-04-23Dorl, James J Esq UNQUALIFIED9Amy Elsner
1011Maria N SaylorsUnited Kingdom2025-04-24King, Christopher A Esq PROPOSAL38Bernardo Dominic
1012Mujtaba B BologniaCanada2025-05-08Chemel, James L Cpa RENEWAL29Anna Fali
1013Aditya T PaprockiIndia2025-04-30Chanay, Jeffrey A Esq RENEWAL1Ivan Magalhaes
1014Emily N GauchoArgentina2025-04-25Chapman, Ross E Esq UNQUALIFIED11Xuxue Feng
1015Munro T MaletCanada2025-04-29Rousseaux, Michael Esq QUALIFIED10Amy Elsner
1016Nicolas E RimCanada2025-04-16Buckley Miller Wright UNQUALIFIED63Onyama Limba
1017Francesco K WaycottSpain2025-05-04Dorl, James J Esq PROPOSAL84Anna Fali
1018Deepesh C KolmetzFrance2025-04-29Dorl, James J Esq RENEWAL4Elwin Sharvill
1019Antonio R RulapaughCanada2025-04-26King, Christopher A Esq QUALIFIED22Elwin Sharvill
1020James Q GlickArgentina2025-05-06King, Christopher A Esq UNQUALIFIED42Stephen Shaw
1021Tony Q WaycottArgentina2025-04-09Feltz Printing Service NEGOTIATION7Xuxue Feng
1022Kaitlin T TollnerGermany2025-04-15Feiner Bros NEW87Xuxue Feng
1023Maria K BriddickBrazil2025-05-08Chemel, James L Cpa RENEWAL41Asiya Javayant
1024Greenwood Y KolmetzIndia2025-04-18Printing Dimensions UNQUALIFIED43Bernardo Dominic
1025Emily L SergiBrazil2025-05-08Rangoni Of Florence QUALIFIED82Anna Fali
1026Johnson V KolmetzIndia2025-04-29Chemel, James L Cpa NEW80Onyama Limba
1027Greenwood Y RimFrance2025-04-22Truhlar And Truhlar Attys UNQUALIFIED93Onyama Limba
1028Deepesh D GillianGermany2025-05-04Printing Dimensions PROPOSAL20Amy Elsner
1029Murillo J GauchoJapan2025-04-17Printing Dimensions NEGOTIATION58Ivan Magalhaes
1030Munro Q FollerSpain2025-05-08Chapman, Ross E Esq NEW13Bernardo Dominic
1031Darci I BologniaJapan2025-05-08Truhlar And Truhlar Attys UNQUALIFIED45Anna Fali
1032Ashley R NestleSpain2025-05-01Benton, John B Jr UNQUALIFIED91Ivan Magalhaes
1033Francesco D GillianBrazil2025-04-15Commercial Press NEGOTIATION96Anna Fali
1034Claire R MorascaRussia2025-05-06Dorl, James J Esq QUALIFIED72Amy Elsner
1035Darci F VenereUnited Kingdom2025-04-13Commercial Press PROPOSAL21Amy Elsner
1036Aruna S ShinkoArgentina2025-04-15King, Christopher A Esq NEGOTIATION17Amy Elsner
1037Maisha V DilliardRussia2025-04-12Morlong Associates NEGOTIATION67Xuxue Feng
1038David T InouyeIndia2025-04-24Truhlar And Truhlar Attys NEGOTIATION69Elwin Sharvill
1039Jefferson V GauchoAustralia2025-04-29Rousseaux, Michael Esq NEGOTIATION39Anna Fali
1040Claire V WhobreyArgentina2025-05-03Chanay, Jeffrey A Esq NEW35Xuxue Feng
1041Morrow B IturbideAustralia2025-04-11King, Christopher A Esq UNQUALIFIED93Ioni Bowcher
1042Izzy P ChuiCanada2025-05-07King, Christopher A Esq NEGOTIATION37Ivan Magalhaes
1043Wickens W FlosiJapan2025-05-03Rousseaux, Michael Esq UNQUALIFIED61Ioni Bowcher
1044Misaki C ShinkoCanada2025-04-20Printing Dimensions PROPOSAL36Anna Fali
1045Arvin Q ShinkoGermany2025-05-02Commercial Press QUALIFIED6Elwin Sharvill
1046Leon F AlbaresUnited Kingdom2025-05-07Rousseaux, Michael Esq RENEWAL13Xuxue Feng
1047Arvin O RoysterSpain2025-04-29Dorl, James J Esq NEW2Amy Elsner
1048Sinclair B AlbaresSpain2025-04-29Chapman, Ross E Esq NEW94Onyama Limba
1049Cody M KolmetzJapan2025-04-23Truhlar And Truhlar Attys QUALIFIED27Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Maisha G ChuiJapanAmy Elsner UNQUALIFIED
Smith X SaylorsCanadaElwin Sharvill PROPOSAL
Francesco B CampainJapanIvan Magalhaes NEW
Munro S CampainAustraliaAsiya Javayant NEGOTIATION
Faith N BologniaBrazilXuxue Feng UNQUALIFIED
Mayumi P IturbideItalyXuxue Feng RENEWAL
Darci N MorascaArgentinaIoni Bowcher RENEWAL
Rodrigues R GauchoRussiaXuxue Feng RENEWAL
Mayumi H SlusarskiGermanyXuxue Feng UNQUALIFIED
Cody G CaldareraIndiaStephen Shaw UNQUALIFIED
Cody K AlbaresFranceAmy Elsner UNQUALIFIED
Maisha J MarrierAustraliaIoni Bowcher RENEWAL
Ashley H SaylorsGermanyIoni Bowcher QUALIFIED
Nicolas B GillianItalyBernardo Dominic PROPOSAL
Jones G NestleIndiaBernardo Dominic NEGOTIATION
Munro K WhobreyUnited KingdomIoni Bowcher UNQUALIFIED
Aditya D ButtFranceAnna Fali NEGOTIATION
Cody N IturbideGermanyOnyama Limba PROPOSAL
Cody T MaletRussiaStephen Shaw NEW
Silvio Z MorascaRussiaAmy Elsner NEW
Smith P BowleyArgentinaIvan Magalhaes NEGOTIATION
Leon T InouyeFranceIvan Magalhaes RENEWAL
Antonio K CaudyJapanAnna Fali NEGOTIATION
Faith E ButtFranceBernardo Dominic NEGOTIATION
Darci G SaylorsRussiaXuxue Feng PROPOSAL
Arvin G DarakjyItalyStephen Shaw PROPOSAL
Rodrigues O MorascaItalyXuxue Feng UNQUALIFIED
Julie N GarufiIndiaOnyama Limba PROPOSAL
Ashley O CaldareraBrazilOnyama Limba NEW
Silvio I RimIndiaIoni Bowcher NEW
Darci H RutaCanadaStephen Shaw RENEWAL
Ricardo Z NickaJapanAnna Fali NEGOTIATION
James Q DilliardCanadaElwin Sharvill NEGOTIATION
Mujtaba X RutaSpainAsiya Javayant NEW
Kaitlin Q OldroydIndiaAmy Elsner NEW
Jennifer X ChuiJapanStephen Shaw NEW
Izzy D ChuiCanadaElwin Sharvill NEW
Smith M KolmetzItalyBernardo Dominic RENEWAL
Julie V StockhamUnited KingdomIoni Bowcher PROPOSAL
Darci I PerinUnited KingdomAmy Elsner RENEWAL
Darci B GarufiIndiaIoni Bowcher PROPOSAL
Aruna F FlosiAustraliaStephen Shaw NEGOTIATION
Faith J SlusarskiUnited KingdomXuxue Feng PROPOSAL
Nicolas C DilliardIndiaAsiya Javayant UNQUALIFIED
Leja R WaycottAustraliaIoni Bowcher UNQUALIFIED
Mujtaba X BriddickRussiaOnyama Limba QUALIFIED
Jennifer L VocelkaSpainIvan Magalhaes QUALIFIED
Kaitlin K RimCanadaBernardo Dominic QUALIFIED
Alejandro G RimArgentinaBernardo Dominic RENEWAL
Silvio I AmigonRussiaBernardo Dominic PROPOSAL
Frozen Columns
Name
Ricardo C Briddick
Emily F Shinko
Jones Z Chui
Leon S Shinko
Faith W Ruta
Francesco H Poquette
Munro E Royster
Emily S Tollner
Misaki X Saylors
Julie Y Oldroyd
Costa B Malet
Mujtaba X Gillian
Leja E Royster
Rodrigues I Shinko
Octavia N Caldarera
Chavez A Sergi
Maisha O Nicka
Ashley V Inouye
Maria C Poquette
David D Whobrey
Aika O Glick
James P Kolmetz
Salvatore F Maclead
James Q Ostrosky
Aruna Z Inouye
Emily W Stockham
Izzy H Garufi
Stacey C Shinko
Nicolas K Kolmetz
Cody R Gaucho
Aditya Z Glick
Leon E Gillian
Sinclair H Saylors
Wickens I Poquette
Clifford J Dilliard
Julie J Albares
Costa H Vocelka
Sinclair Q Rulapaugh
Nicolas Z Maclead
Ashley D Malet
Mayumi L Chui
Salvatore L Saylors
Stacey E Iturbide
David M Briddick
Leja D Waycott
Tony O Shinko
Chavez Q Stockham
Nicolas C Saylors
Jennifer X Perin
Darci H Ruta
IdCountryDate
1000United Kingdom2025-04-25
1001Spain2025-04-27
1002France2025-05-04
1003Italy2025-05-03
1004Italy2025-04-13
1005United Kingdom2025-05-02
1006Argentina2025-04-25
1007United Kingdom2025-04-19
1008Canada2025-04-10
1009Russia2025-04-20
1010United Kingdom2025-04-27
1011India2025-04-12
1012Russia2025-04-10
1013Argentina2025-04-10
1014Canada2025-04-29
1015Argentina2025-04-27
1016Italy2025-04-14
1017France2025-05-03
1018Australia2025-05-08
1019France2025-04-22
1020France2025-05-01
1021Italy2025-04-16
1022Canada2025-04-27
1023Australia2025-04-11
1024India2025-05-05
1025Spain2025-04-22
1026Australia2025-05-03
1027Japan2025-05-07
1028India2025-04-17
1029Australia2025-04-25
1030India2025-04-26
1031Russia2025-04-10
1032India2025-04-20
1033France2025-04-12
1034Canada2025-04-16
1035Germany2025-04-18
1036United Kingdom2025-04-28
1037Russia2025-05-02
1038Italy2025-04-28
1039Canada2025-05-03
1040France2025-04-12
1041France2025-04-29
1042Brazil2025-05-07
1043Russia2025-04-19
1044Spain2025-04-19
1045France2025-05-01
1046United Kingdom2025-04-09
1047Argentina2025-04-20
1048Italy2025-04-28
1049Japan2025-05-03

On-Demand Data

NameIdCountryDate
Francesco Z Marrier1000Russia2025-05-06
Ivar S Malet1001India2025-04-16
Emily X Doe1002Brazil2025-04-21
Mujtaba E Stockham1003Canada2025-05-04
Sinclair R Kolmetz1004Argentina2025-04-29
Maisha E Rim1005Spain2025-04-14
Octavia R Gaucho1006Australia2025-04-24
Arvin Q Tollner1007Spain2025-04-20
Mujtaba M Rulapaugh1008Russia2025-04-22
Julie H Darakjy1009Canada2025-04-17
Jones N Campain1010Russia2025-05-02
Tony N Amigon1011Australia2025-04-12
Kaitlin S Stenseth1012Australia2025-04-09
David H Waycott1013United Kingdom2025-04-19
Juan X Rulapaugh1014Japan2025-04-23
Morrow O Gillian1015Japan2025-04-11
Faith W Marrier1016Germany2025-05-04
Munro Z Shinko1017United Kingdom2025-04-09
Ashley Q Slusarski1018Russia2025-04-22
Ricardo T Malet1019Germany2025-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan O NickaBrazilIvan Magalhaes UNQUALIFIED
Rodrigues S VocelkaUnited KingdomAmy Elsner NEGOTIATION
Salvatore S OldroydItalyAmy Elsner QUALIFIED
Mayumi S FerenczBrazilAmy Elsner QUALIFIED
David R VocelkaItalyAnna Fali UNQUALIFIED
Ashley G CaudyUnited KingdomXuxue Feng QUALIFIED
Jeanfrancois O MaletArgentinaOnyama Limba NEGOTIATION
Emily J InouyeFranceAnna Fali UNQUALIFIED
Kadeem M VenereIndiaElwin Sharvill PROPOSAL
Mujtaba M SaylorsRussiaElwin Sharvill PROPOSAL
Greenwood Q AlbaresUnited KingdomAsiya Javayant PROPOSAL
Wickens A InouyeSpainAnna Fali UNQUALIFIED
Kaitlin H FigeroaBrazilOnyama Limba PROPOSAL
Chavez J ChuiSpainXuxue Feng UNQUALIFIED
Murillo O DarakjyFranceAsiya Javayant NEGOTIATION
Jennifer B VocelkaArgentinaElwin Sharvill QUALIFIED
Alejandro F VocelkaFranceElwin Sharvill RENEWAL
Adams D KuskoCanadaAsiya Javayant QUALIFIED
Jennifer P BologniaGermanyBernardo Dominic NEW
Juan S NickaRussiaXuxue Feng PROPOSAL
Jennifer N StockhamCanadaAnna Fali UNQUALIFIED
Stacey S StockhamBrazilAnna Fali NEGOTIATION
Costa Z RutaUnited KingdomAmy Elsner NEW
Clifford Z DilliardRussiaAmy Elsner NEGOTIATION
Claire W IturbideCanadaElwin Sharvill NEGOTIATION
David Y FollerSpainAmy Elsner QUALIFIED
Greenwood H SlusarskiBrazilElwin Sharvill RENEWAL
Alejandro I BriddickSpainOnyama Limba PROPOSAL
Rodrigues S RutaIndiaAmy Elsner NEGOTIATION
Rodrigues I IturbideSpainStephen Shaw PROPOSAL
Stacey P NickaBrazilIoni Bowcher RENEWAL
Faith C WhobreyArgentinaElwin Sharvill NEGOTIATION
Ricardo H SchemmerGermanyAnna Fali QUALIFIED
Antonio Z FlosiItalyIoni Bowcher NEW
Maisha G StockhamGermanyOnyama Limba UNQUALIFIED
Juan J VenereArgentinaAmy Elsner UNQUALIFIED
Darci U PoquetteGermanyIoni Bowcher RENEWAL
Juan V ShinkoGermanyAsiya Javayant PROPOSAL
Nicolas U MaletRussiaAmy Elsner QUALIFIED
Smith M SchemmerGermanyXuxue Feng RENEWAL

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