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
Murillo I OstroskyFranceAnna Fali NEW
Faith D RulapaughJapanElwin Sharvill QUALIFIED
Wickens G RoysterBrazilAsiya Javayant UNQUALIFIED
Wickens D WieserFranceOnyama Limba NEGOTIATION
Jones R FollerItalyAmy Elsner NEW
Silvio Z IturbideJapanIoni Bowcher PROPOSAL
David E GlickRussiaOnyama Limba RENEWAL
Jefferson B FerenczJapanBernardo Dominic PROPOSAL
Clifford Q MaletIndiaIvan Magalhaes UNQUALIFIED
Rodrigues C RulapaughAustraliaOnyama Limba UNQUALIFIED
Chavez P SlusarskiRussiaIvan Magalhaes QUALIFIED
Aika U MorascaUnited KingdomAmy Elsner RENEWAL
Juan D SaylorsIndiaAmy Elsner QUALIFIED
Antonio E StensethItalyElwin Sharvill QUALIFIED
Munro E FollerUnited KingdomOnyama Limba QUALIFIED
Leja P VenereJapanXuxue Feng NEGOTIATION
Kadeem E BriddickCanadaBernardo Dominic NEGOTIATION
Chavez Q WaycottJapanIoni Bowcher NEGOTIATION
Ricardo O ChuiBrazilOnyama Limba NEGOTIATION
Francesco J WieserUnited KingdomAnna Fali RENEWAL
Isabel M WhobreyGermanyIvan Magalhaes QUALIFIED
Clifford U CaldareraItalyAsiya Javayant QUALIFIED
Greenwood G MaletJapanAnna Fali RENEWAL
Mayumi T VocelkaGermanyElwin Sharvill RENEWAL
Misaki A RimItalyXuxue Feng UNQUALIFIED
Faith R InouyeCanadaAmy Elsner NEW
Maisha U NickaUnited KingdomElwin Sharvill RENEWAL
Silvio B DarakjyRussiaBernardo Dominic PROPOSAL
Octavia A SlusarskiItalyAnna Fali NEGOTIATION
Octavia F RutaUnited KingdomXuxue Feng NEW
Greenwood A AmigonGermanyOnyama Limba NEGOTIATION
Ivar T DarakjyItalyElwin Sharvill QUALIFIED
Maria X IturbideSpainElwin Sharvill RENEWAL
Salvatore B VenereItalyIoni Bowcher NEGOTIATION
David A DilliardJapanStephen Shaw UNQUALIFIED
Claire S MorascaJapanIoni Bowcher RENEWAL
Misaki R CampainUnited KingdomStephen Shaw NEW
Costa J MorascaJapanAmy Elsner QUALIFIED
Kaitlin E MaletArgentinaAsiya Javayant PROPOSAL
Morrow F PaprockiUnited KingdomOnyama Limba NEW
Misaki G GarufiItalyBernardo Dominic NEW
David M RoysterRussiaStephen Shaw UNQUALIFIED
Wickens X MaletSpainIoni Bowcher QUALIFIED
Munro B GlickJapanAnna Fali UNQUALIFIED
Francesco Q OldroydRussiaBernardo Dominic NEGOTIATION
Ashley H DilliardItalyXuxue Feng QUALIFIED
Francesco A AmigonUnited KingdomBernardo Dominic NEW
Mayumi A StensethAustraliaAmy Elsner QUALIFIED
Alejandro D RutaIndiaIvan Magalhaes UNQUALIFIED
Jones X MorascaCanadaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Alejandro V GauchoArgentinaAsiya Javayant PROPOSAL
Isabel I GlickRussiaAmy Elsner QUALIFIED
Stacey I GillianBrazilBernardo Dominic NEGOTIATION
Costa D SchemmerJapanIoni Bowcher RENEWAL
Deepesh Z DilliardItalyXuxue Feng RENEWAL
Nicolas B FollerAustraliaIvan Magalhaes NEW
Smith L RutaFranceIoni Bowcher QUALIFIED
Alejandro K SchemmerFranceAsiya Javayant NEGOTIATION
Chavez R AlbaresJapanXuxue Feng PROPOSAL
Claire S ButtUnited KingdomXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois Z VocelkaAustralia2024-06-07Commercial Press UNQUALIFIED74Stephen Shaw
1001Chavez F WhobreyUnited Kingdom2024-06-15Chapman, Ross E Esq UNQUALIFIED27Ioni Bowcher
1002Jennifer R MarrierCanada2024-06-24Chemel, James L Cpa NEGOTIATION88Elwin Sharvill
1003Ricardo S MaletUnited Kingdom2024-06-10Feltz Printing Service NEGOTIATION76Asiya Javayant
1004Leon N OldroydBrazil2024-06-07Morlong Associates RENEWAL1Ivan Magalhaes
1005Ricardo G MarrierItaly2024-05-29Chemel, James L Cpa RENEWAL41Anna Fali
1006Johnson C NestleCanada2024-05-31Chapman, Ross E Esq NEW36Onyama Limba
1007Faith I CaudyIndia2024-06-22Benton, John B Jr PROPOSAL8Bernardo Dominic
1008Izzy U BriddickArgentina2024-06-21Commercial Press PROPOSAL90Ioni Bowcher
1009Izzy Y ShinkoFrance2024-05-26King, Christopher A Esq NEW60Bernardo Dominic
1010Emily I CaldareraBrazil2024-06-08King, Christopher A Esq RENEWAL2Bernardo Dominic
1011Faith H PaprockiSpain2024-06-21Chemel, James L Cpa PROPOSAL0Stephen Shaw
1012Faith F SergiRussia2024-06-12Chapman, Ross E Esq RENEWAL54Onyama Limba
1013Misaki E OldroydIndia2024-06-13Truhlar And Truhlar Attys NEGOTIATION23Anna Fali
1014Kadeem F FlosiGermany2024-06-13Commercial Press NEW49Anna Fali
1015Murillo J FlosiUnited Kingdom2024-06-02Feiner Bros PROPOSAL12Onyama Limba
1016Clifford N ButtRussia2024-06-07Truhlar And Truhlar Attys QUALIFIED21Ioni Bowcher
1017Ivar N KuskoSpain2024-06-09Printing Dimensions NEGOTIATION51Bernardo Dominic
1018Alejandro U NestleBrazil2024-06-23Feltz Printing Service NEGOTIATION42Stephen Shaw
1019Morrow P BowleyJapan2024-06-20Morlong Associates PROPOSAL61Elwin Sharvill
1020Aruna G VocelkaUnited Kingdom2024-05-27Dorl, James J Esq RENEWAL37Asiya Javayant
1021James U SergiItaly2024-06-02Commercial Press PROPOSAL30Stephen Shaw
1022Wickens R FigeroaSpain2024-06-15Chemel, James L Cpa NEGOTIATION28Amy Elsner
1023Maisha Q BriddickCanada2024-06-20Feiner Bros UNQUALIFIED78Anna Fali
1024Nicolas J SlusarskiAustralia2024-05-29Dorl, James J Esq NEW69Anna Fali
1025Ricardo V DilliardGermany2024-05-26Rangoni Of Florence UNQUALIFIED16Elwin Sharvill
1026Sinclair T GauchoUnited Kingdom2024-05-29Chapman, Ross E Esq RENEWAL16Stephen Shaw
1027Izzy E RutaRussia2024-06-08Rousseaux, Michael Esq NEGOTIATION55Onyama Limba
1028Morrow G IturbideUnited Kingdom2024-05-28Feltz Printing Service QUALIFIED96Stephen Shaw
1029Munro H OldroydArgentina2024-06-14Commercial Press QUALIFIED77Amy Elsner
1030Jeanfrancois P FollerRussia2024-06-17King, Christopher A Esq NEGOTIATION97Anna Fali
1031Aruna A ButtIndia2024-06-12Benton, John B Jr UNQUALIFIED65Ivan Magalhaes
1032Julie Y RutaArgentina2024-06-14Rousseaux, Michael Esq RENEWAL47Ivan Magalhaes
1033Jefferson T SaylorsSpain2024-05-26Commercial Press PROPOSAL95Elwin Sharvill
1034Chavez G MacleadJapan2024-05-27Dorl, James J Esq NEGOTIATION19Asiya Javayant
1035Rodrigues C StockhamUnited Kingdom2024-06-07Benton, John B Jr UNQUALIFIED94Stephen Shaw
1036Deepesh U PerinSpain2024-06-16Benton, John B Jr NEW77Bernardo Dominic
1037Ashley V RulapaughUnited Kingdom2024-06-22Chapman, Ross E Esq PROPOSAL37Bernardo Dominic
1038Kadeem K MaletBrazil2024-06-22Rousseaux, Michael Esq RENEWAL21Stephen Shaw
1039Munro J NestleItaly2024-06-10King, Christopher A Esq NEGOTIATION28Onyama Limba
1040Murillo V BologniaArgentina2024-06-24Chapman, Ross E Esq PROPOSAL80Amy Elsner
1041Maria M DarakjyItaly2024-06-16King, Christopher A Esq QUALIFIED22Xuxue Feng
1042Aika S SchemmerGermany2024-06-16Morlong Associates NEGOTIATION98Amy Elsner
1043Adams Q RulapaughRussia2024-06-04Morlong Associates QUALIFIED65Ivan Magalhaes
1044Faith K NestleJapan2024-05-30Morlong Associates NEGOTIATION68Ioni Bowcher
1045Darci S DilliardRussia2024-06-05Truhlar And Truhlar Attys NEGOTIATION75Asiya Javayant
1046Mujtaba R SergiBrazil2024-06-20Benton, John B Jr RENEWAL37Bernardo Dominic
1047Sinclair H ChuiFrance2024-06-07Commercial Press UNQUALIFIED1Onyama Limba
1048Leja C PoquetteBrazil2024-06-14Chemel, James L Cpa PROPOSAL90Asiya Javayant
1049Francesco R MacleadFrance2024-06-09Feiner Bros RENEWAL21Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jennifer X FollerArgentinaOnyama Limba UNQUALIFIED
Ivar J DarakjyRussiaAsiya Javayant PROPOSAL
Murillo J NestleAustraliaAnna Fali QUALIFIED
Nicolas Z WieserCanadaAmy Elsner UNQUALIFIED
Alejandro O FlosiUnited KingdomIoni Bowcher NEGOTIATION
Aruna K BologniaJapanBernardo Dominic PROPOSAL
Costa C GillianUnited KingdomAnna Fali RENEWAL
Clifford O GauchoArgentinaElwin Sharvill QUALIFIED
Silvio Z SchemmerIndiaXuxue Feng RENEWAL
Isabel A PoquetteSpainIvan Magalhaes UNQUALIFIED
Ivar Z RoysterItalyBernardo Dominic PROPOSAL
Julie X StockhamFranceBernardo Dominic NEGOTIATION
Aika W NickaSpainAnna Fali UNQUALIFIED
Leon U OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Murillo W StockhamItalyIvan Magalhaes NEW
Clifford N GauchoGermanyIvan Magalhaes RENEWAL
Aika Q MarrierJapanIoni Bowcher RENEWAL
Costa A BowleyCanadaIvan Magalhaes UNQUALIFIED
Murillo R SaylorsIndiaAnna Fali UNQUALIFIED
Deepesh C MaletSpainAsiya Javayant RENEWAL
Greenwood P AmigonArgentinaXuxue Feng NEGOTIATION
David I IturbideBrazilAsiya Javayant QUALIFIED
David Z CaudyArgentinaAsiya Javayant NEW
Aditya J GarufiCanadaAnna Fali RENEWAL
Antonio R GlickCanadaXuxue Feng NEW
Julie N RoysterUnited KingdomIoni Bowcher QUALIFIED
Emily P SchemmerArgentinaXuxue Feng PROPOSAL
James M RoysterRussiaIvan Magalhaes UNQUALIFIED
Deepesh K VocelkaBrazilIoni Bowcher NEGOTIATION
Chavez D GauchoItalyIvan Magalhaes NEW
Murillo E GlickSpainStephen Shaw PROPOSAL
Maisha S RoysterArgentinaAnna Fali UNQUALIFIED
Deepesh H WieserItalyIoni Bowcher QUALIFIED
Jeanfrancois Q FerenczSpainOnyama Limba NEW
Ricardo E BologniaJapanBernardo Dominic UNQUALIFIED
Antonio W DarakjyCanadaAmy Elsner PROPOSAL
Smith E ShinkoGermanyOnyama Limba NEGOTIATION
Izzy P IturbideFranceElwin Sharvill NEW
Faith O ButtIndiaOnyama Limba NEGOTIATION
Adams W AlbaresIndiaAnna Fali UNQUALIFIED
Rodrigues D MaletIndiaIvan Magalhaes RENEWAL
Aika R CampainGermanyStephen Shaw RENEWAL
Sinclair P InouyeGermanyBernardo Dominic QUALIFIED
Mujtaba B MaletIndiaOnyama Limba PROPOSAL
Costa C BriddickItalyElwin Sharvill NEW
Alejandro I AlbaresRussiaElwin Sharvill PROPOSAL
Octavia G GillianAustraliaAmy Elsner RENEWAL
Silvio U RimUnited KingdomAnna Fali RENEWAL
David I ChuiArgentinaElwin Sharvill QUALIFIED
Kaitlin I SlusarskiRussiaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Adams V Gaucho
Mujtaba D Morasca
Faith L Glick
Aika X Ostrosky
Tony G Caldarera
Sinclair F Ferencz
Claire T Kolmetz
Silvio O Ferencz
Izzy U Malet
Munro V Garufi
Smith B Caudy
Murillo W Venere
Wickens W Bowley
Leja K Kolmetz
Smith Y Poquette
Murillo A Campain
Alejandro P Flosi
Mujtaba T Kusko
Izzy X Flosi
Costa S Garufi
Munro B Ruta
Chavez G Ruta
Mayumi B Iturbide
Kaitlin B Dilliard
Emily L Figeroa
Misaki F Amigon
Clifford G Gillian
Kadeem U Glick
Kadeem K Bolognia
David X Darakjy
Mujtaba H Ostrosky
Nicolas C Amigon
Sinclair P Foller
Leja H Caldarera
Julie U Caudy
Francesco L Waycott
James G Waycott
Sinclair I Stockham
Chavez Z Malet
Chavez Y Amigon
Emily Y Caudy
Sinclair J Chui
Ashley D Amigon
Johnson X Marrier
Morrow W Stenseth
Cody Y Flosi
Greenwood K Royster
Jones Y Inouye
Leja V Waycott
Kadeem M Garufi
IdCountryDate
1000Italy2024-06-22
1001Canada2024-06-10
1002Spain2024-06-04
1003Germany2024-06-03
1004Italy2024-06-04
1005Brazil2024-06-11
1006Russia2024-05-30
1007Italy2024-05-30
1008India2024-05-30
1009United Kingdom2024-06-16
1010Australia2024-06-02
1011Germany2024-06-14
1012Argentina2024-06-18
1013Italy2024-06-09
1014India2024-06-10
1015Germany2024-06-13
1016Spain2024-06-21
1017Russia2024-05-31
1018France2024-05-29
1019Russia2024-06-18
1020Canada2024-06-15
1021United Kingdom2024-06-15
1022Brazil2024-05-29
1023Brazil2024-06-02
1024France2024-06-15
1025Spain2024-05-30
1026France2024-06-16
1027Brazil2024-06-06
1028Argentina2024-06-21
1029United Kingdom2024-06-23
1030Argentina2024-06-17
1031Argentina2024-06-11
1032Brazil2024-06-15
1033Italy2024-06-18
1034Italy2024-06-03
1035Germany2024-05-28
1036United Kingdom2024-06-14
1037Canada2024-06-09
1038Germany2024-06-13
1039Canada2024-06-02
1040Japan2024-06-17
1041India2024-06-15
1042Canada2024-06-04
1043France2024-06-10
1044Russia2024-06-17
1045India2024-06-09
1046Russia2024-05-31
1047United Kingdom2024-06-01
1048Brazil2024-06-06
1049Canada2024-05-30

On-Demand Data

NameIdCountryDate
Jennifer G Iturbide1000Argentina2024-06-01
Greenwood T Bowley1001Canada2024-06-11
Silvio G Vocelka1002India2024-06-22
Octavia I Kusko1003Spain2024-06-22
Johnson V Tollner1004Argentina2024-06-24
Jefferson R Bolognia1005Argentina2024-06-11
Clifford H Glick1006Spain2024-05-29
Nicolas C Foller1007Japan2024-06-07
Clifford G Bolognia1008Italy2024-06-03
Faith H Sergi1009United Kingdom2024-06-07
Octavia P Foller1010Brazil2024-06-23
Silvio V Darakjy1011Germany2024-06-10
Aruna R Nicka1012Australia2024-06-24
Jefferson Z Foller1013Germany2024-05-30
Adams B Malet1014Russia2024-06-05
Tony N Chui1015United Kingdom2024-06-01
Mujtaba F Venere1016Australia2024-06-04
Maisha N Glick1017Italy2024-06-15
Cody H Gillian1018Spain2024-06-20
Jennifer H Darakjy1019Japan2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika P BologniaBrazilOnyama Limba UNQUALIFIED
Wickens K WieserSpainIoni Bowcher PROPOSAL
Salvatore K FlosiFranceIoni Bowcher NEGOTIATION
Mayumi E DoeGermanyIvan Magalhaes PROPOSAL
Maria Y OldroydItalyAsiya Javayant RENEWAL
Mayumi S MaletCanadaStephen Shaw UNQUALIFIED
Rodrigues I MorascaRussiaStephen Shaw RENEWAL
Salvatore S PaprockiCanadaBernardo Dominic NEGOTIATION
Darci Q BologniaCanadaAmy Elsner NEW
Clifford D TollnerFranceAsiya Javayant PROPOSAL
Jefferson J MarrierRussiaIvan Magalhaes PROPOSAL
Johnson E CaudyGermanyElwin Sharvill UNQUALIFIED
Cody G KuskoFranceBernardo Dominic UNQUALIFIED
Maisha U MacleadArgentinaOnyama Limba QUALIFIED
Adams S MacleadGermanyIvan Magalhaes UNQUALIFIED
Murillo Q SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Emily U WhobreyBrazilAsiya Javayant RENEWAL
James L CaldareraJapanXuxue Feng NEGOTIATION
Aika E DarakjyItalyBernardo Dominic UNQUALIFIED
Isabel U GarufiRussiaStephen Shaw NEGOTIATION
Octavia B VocelkaUnited KingdomIvan Magalhaes QUALIFIED
Leon C GlickArgentinaIoni Bowcher UNQUALIFIED
James R FerenczAustraliaIoni Bowcher PROPOSAL
James T SchemmerSpainAnna Fali NEW
Adams B MaletSpainStephen Shaw NEW
Johnson T MacleadGermanyOnyama Limba NEW
Aruna X MarrierItalyAnna Fali NEW
Jeanfrancois Q PoquetteGermanyElwin Sharvill QUALIFIED
Ivar Y StockhamIndiaIoni Bowcher RENEWAL
Smith S KolmetzJapanBernardo Dominic PROPOSAL
Adams C FigeroaCanadaAsiya Javayant NEW
Salvatore B GarufiAustraliaStephen Shaw QUALIFIED
Darci D MaletArgentinaStephen Shaw UNQUALIFIED
Aruna P BologniaIndiaXuxue Feng PROPOSAL
Octavia H KuskoGermanyElwin Sharvill PROPOSAL
Wickens R DilliardFranceAsiya Javayant UNQUALIFIED
Antonio Y NickaItalyIoni Bowcher PROPOSAL
Ricardo J GarufiAustraliaBernardo Dominic NEGOTIATION
Isabel O MorascaUnited KingdomBernardo Dominic QUALIFIED
Darci A PaprockiUnited KingdomAnna Fali 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>