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
Leon L KolmetzItalyIoni Bowcher UNQUALIFIED
Tony V KolmetzCanadaAmy Elsner PROPOSAL
Deepesh R SlusarskiArgentinaStephen Shaw PROPOSAL
Jeanfrancois Y KuskoRussiaAmy Elsner RENEWAL
Mayumi Y FigeroaBrazilBernardo Dominic PROPOSAL
Darci U SchemmerGermanyIvan Magalhaes QUALIFIED
Clifford C WaycottArgentinaXuxue Feng NEW
Johnson B StensethBrazilIvan Magalhaes PROPOSAL
James W FlosiFranceAsiya Javayant NEGOTIATION
Jennifer W DoeSpainBernardo Dominic NEGOTIATION
Antonio I MaletJapanAmy Elsner QUALIFIED
Chavez F DoeRussiaOnyama Limba PROPOSAL
Mujtaba T WieserSpainAnna Fali QUALIFIED
Silvio I VocelkaSpainBernardo Dominic NEW
Francesco M WieserAustraliaAmy Elsner NEGOTIATION
Julie N GauchoGermanyBernardo Dominic QUALIFIED
Kaitlin N MorascaRussiaAmy Elsner UNQUALIFIED
Faith H RutaAustraliaAnna Fali PROPOSAL
Claire I FollerRussiaIvan Magalhaes RENEWAL
Aruna M WhobreyIndiaBernardo Dominic NEGOTIATION
Nicolas L IturbideArgentinaIoni Bowcher RENEWAL
Isabel A KuskoArgentinaAnna Fali PROPOSAL
Emily H RoysterBrazilOnyama Limba RENEWAL
Faith H OstroskyUnited KingdomAmy Elsner QUALIFIED
Aika T GillianBrazilIvan Magalhaes RENEWAL
Misaki U MarrierRussiaAnna Fali NEW
Maria W NickaRussiaIvan Magalhaes NEGOTIATION
Tony R MacleadArgentinaIoni Bowcher PROPOSAL
Deepesh Y VenereUnited KingdomXuxue Feng NEW
Misaki B GarufiFranceAnna Fali NEW
Leon Z MaletRussiaAsiya Javayant UNQUALIFIED
Silvio W FlosiFranceAsiya Javayant NEGOTIATION
Stacey Y GlickFranceIoni Bowcher NEW
Aruna F ButtCanadaAnna Fali PROPOSAL
Ashley B AmigonSpainIvan Magalhaes NEW
Sinclair J VocelkaCanadaAsiya Javayant RENEWAL
Isabel I SergiJapanAmy Elsner NEW
Misaki X WaycottArgentinaIoni Bowcher UNQUALIFIED
Morrow V RulapaughAustraliaAmy Elsner RENEWAL
Jennifer M BowleyIndiaBernardo Dominic NEGOTIATION
Claire U ChuiSpainStephen Shaw PROPOSAL
Maria C CaudyItalyXuxue Feng QUALIFIED
Morrow E WieserGermanyOnyama Limba NEW
Deepesh I AlbaresIndiaAmy Elsner UNQUALIFIED
Chavez N GillianGermanyAmy Elsner NEW
Emily N GlickBrazilOnyama Limba RENEWAL
Deepesh X PerinUnited KingdomAmy Elsner PROPOSAL
James R RoysterGermanyBernardo Dominic RENEWAL
Darci B PoquetteFranceBernardo Dominic QUALIFIED
Francesco E GarufiSpainAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro R DarakjyFranceXuxue Feng RENEWAL
Aruna Q VenereRussiaOnyama Limba NEGOTIATION
Jefferson Y MaletAustraliaAmy Elsner NEW
Johnson S KuskoBrazilAnna Fali QUALIFIED
Maisha K RoysterCanadaAsiya Javayant NEGOTIATION
Arvin X RimSpainStephen Shaw NEW
David A RulapaughCanadaAsiya Javayant RENEWAL
Francesco P MaletGermanyOnyama Limba QUALIFIED
Mayumi P DoeBrazilIoni Bowcher PROPOSAL
Julie Z GillianAustraliaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin D MaletFrance2024-05-30King, Christopher A Esq RENEWAL7Anna Fali
1001Maria N GlickRussia2024-06-08Chanay, Jeffrey A Esq QUALIFIED44Xuxue Feng
1002Francesco E GillianGermany2024-06-23Chapman, Ross E Esq NEGOTIATION26Onyama Limba
1003Antonio Q PaprockiRussia2024-06-22Dorl, James J Esq NEW77Ivan Magalhaes
1004Costa B VocelkaAustralia2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED86Amy Elsner
1005Adams H CampainCanada2024-06-16Commercial Press PROPOSAL65Stephen Shaw
1006Mayumi N TollnerArgentina2024-06-17Benton, John B Jr NEGOTIATION45Amy Elsner
1007Ricardo T CaldareraIndia2024-06-14Buckley Miller Wright RENEWAL68Anna Fali
1008Emily C GlickGermany2024-06-02Feiner Bros PROPOSAL80Ioni Bowcher
1009Munro B RulapaughBrazil2024-06-19Rangoni Of Florence PROPOSAL25Elwin Sharvill
1010Misaki T VocelkaCanada2024-06-04Chapman, Ross E Esq NEGOTIATION9Xuxue Feng
1011Chavez F SaylorsUnited Kingdom2024-06-15Morlong Associates PROPOSAL28Stephen Shaw
1012Kaitlin L GlickBrazil2024-06-22Buckley Miller Wright RENEWAL18Asiya Javayant
1013Murillo C BriddickCanada2024-05-29Feiner Bros RENEWAL40Ioni Bowcher
1014Sinclair T SchemmerRussia2024-06-15Buckley Miller Wright QUALIFIED33Elwin Sharvill
1015Maria Q GlickGermany2024-06-20Dorl, James J Esq QUALIFIED85Amy Elsner
1016Smith B AlbaresItaly2024-06-10King, Christopher A Esq QUALIFIED75Anna Fali
1017Murillo Q OstroskyIndia2024-06-12Chanay, Jeffrey A Esq PROPOSAL11Anna Fali
1018Sinclair X GlickIndia2024-05-31Rousseaux, Michael Esq RENEWAL26Amy Elsner
1019Mayumi U InouyeJapan2024-06-13Chapman, Ross E Esq RENEWAL61Xuxue Feng
1020Isabel Z PoquetteArgentina2024-05-26Truhlar And Truhlar Attys QUALIFIED21Bernardo Dominic
1021Smith L AlbaresArgentina2024-06-24Rangoni Of Florence PROPOSAL96Anna Fali
1022Ashley G VenereArgentina2024-05-28Dorl, James J Esq RENEWAL66Bernardo Dominic
1023Murillo U GauchoFrance2024-06-10Chapman, Ross E Esq PROPOSAL62Bernardo Dominic
1024Mayumi V CaldareraFrance2024-06-19Feltz Printing Service NEGOTIATION26Ioni Bowcher
1025Morrow K MaletAustralia2024-06-22Chemel, James L Cpa NEGOTIATION18Xuxue Feng
1026Jones K SchemmerAustralia2024-06-14Benton, John B Jr PROPOSAL2Onyama Limba
1027Aditya Z BowleyAustralia2024-06-16Rangoni Of Florence NEGOTIATION5Amy Elsner
1028Tony S GlickItaly2024-06-12Buckley Miller Wright UNQUALIFIED80Asiya Javayant
1029Cody O CampainBrazil2024-06-08Commercial Press UNQUALIFIED39Ioni Bowcher
1030Jennifer Y DilliardSpain2024-05-27Chemel, James L Cpa UNQUALIFIED8Amy Elsner
1031Julie L MaletGermany2024-06-08Buckley Miller Wright RENEWAL93Onyama Limba
1032Arvin F GillianBrazil2024-06-07Feiner Bros NEGOTIATION51Xuxue Feng
1033Wickens F TollnerGermany2024-06-20Dorl, James J Esq NEW99Bernardo Dominic
1034Aruna P ChuiJapan2024-05-27Chanay, Jeffrey A Esq RENEWAL91Bernardo Dominic
1035Greenwood E MorascaIndia2024-06-08Feiner Bros NEGOTIATION95Onyama Limba
1036Sinclair Z PerinArgentina2024-06-02Rousseaux, Michael Esq NEW55Stephen Shaw
1037Misaki N MarrierSpain2024-06-06Feltz Printing Service QUALIFIED67Ivan Magalhaes
1038Misaki F SchemmerGermany2024-06-16Feiner Bros RENEWAL42Amy Elsner
1039Murillo K WhobreyIndia2024-06-13Truhlar And Truhlar Attys RENEWAL21Elwin Sharvill
1040Kadeem C AmigonIndia2024-05-30Dorl, James J Esq NEW2Elwin Sharvill
1041Leon O OstroskyUnited Kingdom2024-06-09Truhlar And Truhlar Attys UNQUALIFIED4Anna Fali
1042Cody U OldroydRussia2024-05-30Morlong Associates NEGOTIATION41Ioni Bowcher
1043Adams W MaletGermany2024-05-30Chanay, Jeffrey A Esq QUALIFIED0Xuxue Feng
1044Silvio H KuskoJapan2024-06-04Dorl, James J Esq RENEWAL71Xuxue Feng
1045Aditya M KuskoUnited Kingdom2024-06-10Morlong Associates UNQUALIFIED19Onyama Limba
1046Clifford S MacleadUnited Kingdom2024-06-11Morlong Associates UNQUALIFIED63Stephen Shaw
1047Kadeem H KuskoIndia2024-06-24Feltz Printing Service NEGOTIATION63Stephen Shaw
1048Munro C RimBrazil2024-06-24Rangoni Of Florence UNQUALIFIED12Elwin Sharvill
1049Tony M DarakjyGermany2024-05-27Rangoni Of Florence RENEWAL41Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Sinclair K VocelkaGermanyBernardo Dominic RENEWAL
Greenwood R TollnerSpainIvan Magalhaes NEW
Juan R IturbideBrazilStephen Shaw UNQUALIFIED
Aditya I MarrierCanadaStephen Shaw QUALIFIED
Deepesh D OstroskyIndiaXuxue Feng NEGOTIATION
Jones W ButtArgentinaElwin Sharvill NEW
Johnson J ChuiIndiaIoni Bowcher QUALIFIED
Arvin W GillianArgentinaIoni Bowcher NEW
Darci Y SlusarskiIndiaIvan Magalhaes NEW
Ashley T WieserCanadaAnna Fali NEGOTIATION
Leja X ShinkoFranceElwin Sharvill NEW
Costa F ChuiBrazilElwin Sharvill RENEWAL
Deepesh W IturbideRussiaAnna Fali NEW
Faith J KuskoUnited KingdomAsiya Javayant NEW
Isabel Q OldroydItalyAsiya Javayant RENEWAL
Mujtaba R PerinJapanAnna Fali QUALIFIED
David O VenereSpainStephen Shaw PROPOSAL
Isabel I GarufiItalyElwin Sharvill PROPOSAL
Claire I WieserArgentinaIvan Magalhaes PROPOSAL
Stacey N KuskoSpainElwin Sharvill NEGOTIATION
Morrow B CampainRussiaIvan Magalhaes RENEWAL
Jeanfrancois R OstroskyBrazilAsiya Javayant UNQUALIFIED
Maria O MorascaFranceStephen Shaw RENEWAL
Clifford U BologniaCanadaStephen Shaw NEGOTIATION
Jennifer Q NickaCanadaAmy Elsner QUALIFIED
Arvin V NestleCanadaIvan Magalhaes PROPOSAL
Ricardo K TollnerJapanXuxue Feng NEGOTIATION
Cody M WhobreySpainElwin Sharvill RENEWAL
Julie S ShinkoItalyAsiya Javayant NEW
Johnson J GauchoJapanAmy Elsner NEW
Nicolas H FigeroaCanadaOnyama Limba UNQUALIFIED
Silvio Q GauchoBrazilXuxue Feng NEGOTIATION
Stacey V GillianAustraliaStephen Shaw UNQUALIFIED
Aditya T SchemmerItalyElwin Sharvill RENEWAL
Cody C PerinBrazilOnyama Limba UNQUALIFIED
Jennifer C SaylorsAustraliaStephen Shaw PROPOSAL
Adams G SlusarskiArgentinaAmy Elsner RENEWAL
Stacey N MarrierArgentinaElwin Sharvill PROPOSAL
Ricardo J MarrierUnited KingdomIoni Bowcher NEW
Munro S FlosiFranceAmy Elsner PROPOSAL
Aruna N AlbaresFranceXuxue Feng NEW
Morrow Z VenereRussiaStephen Shaw NEW
Claire W RoysterRussiaOnyama Limba UNQUALIFIED
Ashley J MarrierAustraliaStephen Shaw QUALIFIED
Kadeem K RimArgentinaXuxue Feng NEW
Chavez V KuskoArgentinaStephen Shaw QUALIFIED
Smith B BowleyUnited KingdomIoni Bowcher RENEWAL
Morrow F ChuiUnited KingdomAsiya Javayant NEGOTIATION
Jones K CaldareraSpainXuxue Feng NEW
Costa M OstroskyGermanyBernardo Dominic NEW
Frozen Columns
Name
Aruna F Garufi
Silvio L Perin
Clifford S Butt
Jeanfrancois Z Morasca
Johnson X Ferencz
Izzy S Gillian
Aika P Inouye
Wickens C Butt
Cody O Flosi
Sinclair W Chui
Greenwood V Ostrosky
Arvin Z Wieser
Leon R Malet
Rodrigues J Morasca
Izzy Q Morasca
Octavia X Whobrey
Ashley C Perin
Wickens D Tollner
Misaki H Inouye
Aditya T Slusarski
Octavia F Amigon
Ivar E Amigon
Wickens Q Nestle
Jennifer V Whobrey
Leon R Kolmetz
Faith P Marrier
Aika W Saylors
Ivar W Whobrey
Deepesh O Kusko
Kaitlin M Stenseth
Darci Q Darakjy
Aruna S Saylors
Stacey T Foller
Johnson K Rim
Antonio V Oldroyd
James T Saylors
Smith Z Poquette
Isabel L Nestle
Sinclair A Iturbide
Octavia E Malet
Costa A Royster
Ivar B Dilliard
Silvio E Chui
Rodrigues L Garufi
Emily Z Rim
Jennifer N Morasca
Clifford B Glick
Darci U Glick
Adams E Maclead
Darci S Chui
IdCountryDate
1000France2024-06-23
1001Brazil2024-06-11
1002France2024-06-17
1003Australia2024-06-13
1004France2024-06-23
1005Germany2024-06-23
1006Australia2024-06-03
1007United Kingdom2024-06-22
1008Spain2024-05-31
1009Spain2024-05-26
1010United Kingdom2024-06-14
1011Spain2024-06-12
1012India2024-06-21
1013United Kingdom2024-06-01
1014Brazil2024-06-11
1015Russia2024-06-21
1016Brazil2024-05-30
1017Spain2024-06-10
1018Brazil2024-05-30
1019Germany2024-05-29
1020United Kingdom2024-06-05
1021Japan2024-06-07
1022India2024-06-01
1023United Kingdom2024-06-07
1024Japan2024-06-04
1025Brazil2024-06-16
1026Spain2024-06-18
1027France2024-06-12
1028Spain2024-06-02
1029Argentina2024-06-19
1030Canada2024-06-20
1031Germany2024-05-31
1032Australia2024-06-04
1033Australia2024-06-05
1034Canada2024-06-17
1035Russia2024-06-14
1036United Kingdom2024-06-09
1037Germany2024-06-04
1038Australia2024-06-11
1039France2024-06-23
1040Italy2024-06-24
1041Canada2024-06-15
1042Germany2024-06-17
1043Spain2024-05-30
1044Italy2024-06-05
1045Canada2024-05-26
1046Australia2024-06-18
1047Australia2024-05-27
1048Russia2024-06-18
1049Japan2024-06-13

On-Demand Data

NameIdCountryDate
Maisha Z Bolognia1000United Kingdom2024-06-10
Jefferson M Schemmer1001Argentina2024-05-28
Deepesh V Perin1002Spain2024-06-18
Antonio B Doe1003Spain2024-06-08
Francesco G Foller1004Italy2024-06-12
Juan L Ostrosky1005Canada2024-06-01
Maisha W Wieser1006United Kingdom2024-06-06
Alejandro E Maclead1007Italy2024-06-11
Munro M Dilliard1008Japan2024-06-06
Cody L Gillian1009India2024-06-08
Emily R Doe1010France2024-05-26
Octavia R Venere1011India2024-06-10
Leon N Inouye1012France2024-06-01
Octavia X Stenseth1013Canada2024-06-17
Deepesh L Stenseth1014Russia2024-06-13
Jefferson L Kolmetz1015Brazil2024-06-21
Sinclair L Whobrey1016Spain2024-06-08
Sinclair C Briddick1017India2024-06-22
Silvio F Foller1018France2024-06-16
Nicolas G Iturbide1019Germany2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens Q DilliardSpainXuxue Feng NEW
Misaki G WaycottBrazilAmy Elsner RENEWAL
Maisha L FlosiJapanIvan Magalhaes NEGOTIATION
Misaki Y BowleyAustraliaOnyama Limba UNQUALIFIED
Jones W MaletAustraliaOnyama Limba PROPOSAL
Octavia T RutaFranceIoni Bowcher NEW
Deepesh Q FerenczRussiaStephen Shaw RENEWAL
Leon V VocelkaIndiaElwin Sharvill UNQUALIFIED
Faith Z KuskoCanadaIoni Bowcher NEW
Misaki X OldroydAustraliaElwin Sharvill PROPOSAL
Nicolas P CaldareraJapanOnyama Limba PROPOSAL
Francesco B DilliardIndiaStephen Shaw UNQUALIFIED
Salvatore T AmigonGermanyAsiya Javayant PROPOSAL
Murillo B CaldareraBrazilBernardo Dominic RENEWAL
Arvin D FlosiCanadaAmy Elsner UNQUALIFIED
Francesco V DilliardArgentinaIvan Magalhaes QUALIFIED
Murillo C RutaItalyAnna Fali NEW
Deepesh B NickaCanadaAsiya Javayant NEGOTIATION
Alejandro U MorascaGermanyBernardo Dominic NEGOTIATION
Salvatore J PaprockiFranceIvan Magalhaes QUALIFIED
Leon H VocelkaAustraliaXuxue Feng NEW
Maria F FerenczBrazilBernardo Dominic NEW
Nicolas W VenereRussiaBernardo Dominic PROPOSAL
Smith V GarufiRussiaIvan Magalhaes NEW
Ivar X DilliardGermanyElwin Sharvill PROPOSAL
Leja B FlosiJapanIoni Bowcher PROPOSAL
Claire B WieserCanadaIoni Bowcher RENEWAL
Leja V GauchoRussiaXuxue Feng PROPOSAL
Jeanfrancois T FigeroaCanadaIoni Bowcher NEW
Nicolas Q KuskoFranceAmy Elsner QUALIFIED
Chavez A GlickSpainAmy Elsner QUALIFIED
Juan N AlbaresArgentinaAsiya Javayant NEGOTIATION
Sinclair P RoysterItalyStephen Shaw RENEWAL
Clifford K IturbideFranceAsiya Javayant NEGOTIATION
Aruna I FigeroaFranceElwin Sharvill PROPOSAL
Stacey T OstroskyGermanyElwin Sharvill UNQUALIFIED
Izzy R IturbideSpainAsiya Javayant PROPOSAL
Salvatore M DarakjyCanadaStephen Shaw UNQUALIFIED
Jones R OstroskyAustraliaBernardo Dominic NEW
Sinclair M AlbaresArgentinaElwin Sharvill UNQUALIFIED

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