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
Jennifer Y MaletFranceXuxue Feng RENEWAL
Morrow C RoysterRussiaElwin Sharvill PROPOSAL
Jeanfrancois Z KolmetzFranceElwin Sharvill RENEWAL
Smith G CaldareraFranceIoni Bowcher NEW
Leon P SlusarskiBrazilAsiya Javayant NEGOTIATION
Stacey F GlickItalyStephen Shaw NEW
Jeanfrancois C StensethGermanyBernardo Dominic RENEWAL
Wickens L GauchoArgentinaOnyama Limba UNQUALIFIED
Wickens D FollerFranceAmy Elsner PROPOSAL
Aruna V PerinJapanAmy Elsner NEGOTIATION
Morrow Z CaldareraFranceBernardo Dominic QUALIFIED
Salvatore H MarrierAustraliaOnyama Limba UNQUALIFIED
Ashley T MorascaIndiaXuxue Feng NEW
Deepesh P PaprockiRussiaOnyama Limba NEGOTIATION
Izzy K GlickSpainXuxue Feng NEGOTIATION
Maisha E MaletFranceXuxue Feng RENEWAL
Octavia P KuskoJapanXuxue Feng QUALIFIED
Antonio N RoysterSpainStephen Shaw RENEWAL
Arvin I AmigonBrazilOnyama Limba PROPOSAL
Isabel X FigeroaSpainIvan Magalhaes QUALIFIED
Greenwood X StockhamBrazilOnyama Limba NEW
Silvio Z OldroydAustraliaIvan Magalhaes QUALIFIED
Faith J CampainItalyAnna Fali PROPOSAL
Alejandro D BologniaArgentinaAmy Elsner NEW
Jennifer X SchemmerIndiaAsiya Javayant NEW
Sinclair F NestleIndiaBernardo Dominic PROPOSAL
Ashley G SergiFranceAsiya Javayant UNQUALIFIED
Leon D TollnerArgentinaOnyama Limba PROPOSAL
Claire M CaudyArgentinaAnna Fali QUALIFIED
Stacey O OstroskyCanadaElwin Sharvill PROPOSAL
Francesco G BowleyCanadaXuxue Feng QUALIFIED
Greenwood G CampainSpainIvan Magalhaes RENEWAL
Murillo H OldroydFranceStephen Shaw PROPOSAL
Julie A IturbideBrazilIoni Bowcher NEGOTIATION
Silvio D DarakjyUnited KingdomXuxue Feng PROPOSAL
Deepesh B WaycottFranceOnyama Limba RENEWAL
Leja B SchemmerSpainStephen Shaw NEW
Jones R WieserAustraliaXuxue Feng RENEWAL
Antonio P KolmetzIndiaIoni Bowcher UNQUALIFIED
Mayumi Q CampainUnited KingdomStephen Shaw RENEWAL
Aditya T KolmetzJapanOnyama Limba RENEWAL
Maria L MaletUnited KingdomIvan Magalhaes RENEWAL
Ricardo C DoeFranceBernardo Dominic PROPOSAL
Arvin S PaprockiFranceStephen Shaw QUALIFIED
Johnson B GauchoFranceStephen Shaw NEGOTIATION
Munro N AlbaresCanadaStephen Shaw RENEWAL
Kadeem U SergiUnited KingdomAnna Fali NEW
Izzy L RutaBrazilAnna Fali RENEWAL
Jennifer E AmigonBrazilXuxue Feng NEW
Silvio S DoeFranceOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James B DilliardJapanXuxue Feng RENEWAL
Kadeem S RutaGermanyAmy Elsner RENEWAL
Kaitlin K CampainJapanBernardo Dominic UNQUALIFIED
Salvatore S GillianCanadaAsiya Javayant UNQUALIFIED
Misaki F RutaBrazilBernardo Dominic QUALIFIED
James L DoeRussiaAnna Fali RENEWAL
Kadeem C MorascaBrazilAmy Elsner UNQUALIFIED
Jennifer I SergiCanadaIoni Bowcher RENEWAL
Jefferson J SlusarskiIndiaStephen Shaw PROPOSAL
Aika Y FigeroaItalyXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood B OldroydFrance2024-05-31Chapman, Ross E Esq RENEWAL72Asiya Javayant
1001Salvatore V SaylorsItaly2024-06-13Feiner Bros RENEWAL4Elwin Sharvill
1002Greenwood H AlbaresFrance2024-06-10Printing Dimensions UNQUALIFIED70Ivan Magalhaes
1003Alejandro D TollnerUnited Kingdom2024-06-19Truhlar And Truhlar Attys PROPOSAL29Xuxue Feng
1004Morrow B NickaFrance2024-06-10Commercial Press PROPOSAL85Ioni Bowcher
1005Adams J RutaBrazil2024-06-14Chemel, James L Cpa RENEWAL53Stephen Shaw
1006Mujtaba W BologniaIndia2024-06-22Chemel, James L Cpa QUALIFIED32Anna Fali
1007Greenwood L FlosiBrazil2024-05-24Truhlar And Truhlar Attys QUALIFIED90Xuxue Feng
1008Darci F ChuiRussia2024-06-16Rangoni Of Florence NEGOTIATION54Bernardo Dominic
1009Rodrigues I AlbaresBrazil2024-05-27Commercial Press QUALIFIED92Elwin Sharvill
1010Darci V PaprockiArgentina2024-06-21Feltz Printing Service PROPOSAL31Stephen Shaw
1011Arvin U FerenczArgentina2024-06-09Morlong Associates RENEWAL43Ioni Bowcher
1012Mayumi D RulapaughCanada2024-05-24Feiner Bros NEW11Anna Fali
1013Chavez S AlbaresIndia2024-06-06Buckley Miller Wright RENEWAL15Bernardo Dominic
1014Aika O VocelkaFrance2024-06-04Dorl, James J Esq NEGOTIATION58Bernardo Dominic
1015Kadeem Y ShinkoUnited Kingdom2024-05-25Feiner Bros NEW60Stephen Shaw
1016Mayumi K BowleyItaly2024-06-07Truhlar And Truhlar Attys NEW49Ivan Magalhaes
1017Leon H StensethRussia2024-05-27Printing Dimensions NEW48Anna Fali
1018Tony X RoysterSpain2024-06-22King, Christopher A Esq NEGOTIATION92Bernardo Dominic
1019James K SlusarskiFrance2024-06-09Printing Dimensions PROPOSAL45Asiya Javayant
1020Salvatore Y ShinkoIndia2024-05-25Chanay, Jeffrey A Esq NEGOTIATION64Ivan Magalhaes
1021Ricardo G MacleadCanada2024-06-02Chemel, James L Cpa RENEWAL74Amy Elsner
1022Greenwood M SchemmerItaly2024-05-30Commercial Press QUALIFIED74Xuxue Feng
1023Kadeem K DarakjyRussia2024-06-01Truhlar And Truhlar Attys RENEWAL77Xuxue Feng
1024Ricardo R BowleyRussia2024-06-03Feltz Printing Service RENEWAL82Stephen Shaw
1025Aika V CaldareraSpain2024-06-08Chemel, James L Cpa NEGOTIATION39Asiya Javayant
1026Deepesh K RutaBrazil2024-06-04Rousseaux, Michael Esq RENEWAL66Anna Fali
1027Ivar G BriddickSpain2024-06-15Chapman, Ross E Esq QUALIFIED98Ioni Bowcher
1028Leon J FlosiGermany2024-05-24Truhlar And Truhlar Attys RENEWAL30Bernardo Dominic
1029Leon Q BriddickAustralia2024-06-03Truhlar And Truhlar Attys RENEWAL48Amy Elsner
1030Mujtaba X TollnerItaly2024-06-07Commercial Press NEGOTIATION55Anna Fali
1031Jefferson Z FerenczUnited Kingdom2024-05-25Chapman, Ross E Esq UNQUALIFIED25Xuxue Feng
1032Maisha W PoquetteIndia2024-06-02Morlong Associates NEW30Onyama Limba
1033Salvatore R IturbideAustralia2024-05-30Rousseaux, Michael Esq RENEWAL73Onyama Limba
1034Faith C MarrierFrance2024-05-30Feltz Printing Service UNQUALIFIED73Ioni Bowcher
1035Costa E VocelkaBrazil2024-06-12Rangoni Of Florence NEW87Xuxue Feng
1036Aditya J ShinkoJapan2024-06-02Benton, John B Jr NEW66Amy Elsner
1037Juan S PoquetteJapan2024-06-21Rousseaux, Michael Esq RENEWAL98Anna Fali
1038Francesco L BologniaIndia2024-06-03Morlong Associates QUALIFIED49Asiya Javayant
1039Silvio L OstroskyUnited Kingdom2024-06-03Chapman, Ross E Esq QUALIFIED15Bernardo Dominic
1040Sinclair E StensethBrazil2024-06-11Feiner Bros RENEWAL50Bernardo Dominic
1041Jefferson G PoquetteJapan2024-06-14Feiner Bros QUALIFIED88Ioni Bowcher
1042Tony Y InouyeSpain2024-06-02Rangoni Of Florence QUALIFIED33Ioni Bowcher
1043Ricardo B VenereUnited Kingdom2024-06-01Buckley Miller Wright QUALIFIED70Elwin Sharvill
1044Sinclair K SergiUnited Kingdom2024-06-15Commercial Press NEGOTIATION11Elwin Sharvill
1045David W DarakjyJapan2024-06-15Feiner Bros QUALIFIED68Xuxue Feng
1046Antonio B PoquetteJapan2024-06-21Commercial Press UNQUALIFIED40Stephen Shaw
1047Murillo P NestleGermany2024-06-11Chemel, James L Cpa NEW25Asiya Javayant
1048Rodrigues B KuskoRussia2024-06-21Dorl, James J Esq UNQUALIFIED1Bernardo Dominic
1049Chavez L FerenczItaly2024-05-28Rangoni Of Florence UNQUALIFIED73Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Misaki R CampainCanadaAsiya Javayant UNQUALIFIED
Silvio K KolmetzRussiaOnyama Limba PROPOSAL
Adams Z DoeFranceAsiya Javayant RENEWAL
Mayumi O WieserGermanyXuxue Feng RENEWAL
Smith Z ChuiItalyAmy Elsner UNQUALIFIED
Maria A RimFranceElwin Sharvill PROPOSAL
Clifford P NickaItalyIvan Magalhaes UNQUALIFIED
Darci M VocelkaBrazilElwin Sharvill UNQUALIFIED
Leja H DoeSpainXuxue Feng QUALIFIED
Leon D RimCanadaXuxue Feng PROPOSAL
Jennifer C InouyeAustraliaIoni Bowcher NEW
Tony F AmigonSpainBernardo Dominic NEGOTIATION
Morrow U KuskoFranceAnna Fali NEGOTIATION
Morrow S DarakjyBrazilIoni Bowcher RENEWAL
Aruna N PaprockiItalyOnyama Limba UNQUALIFIED
Murillo C KuskoItalyAmy Elsner PROPOSAL
Francesco Y NestleSpainElwin Sharvill QUALIFIED
Jefferson Y WieserIndiaIoni Bowcher PROPOSAL
Greenwood N FerenczFranceAmy Elsner QUALIFIED
Deepesh E DoeFranceAnna Fali RENEWAL
Stacey B TollnerJapanStephen Shaw QUALIFIED
Kadeem Q RimItalyAnna Fali RENEWAL
James X ChuiGermanyIvan Magalhaes PROPOSAL
Tony V StockhamCanadaAnna Fali PROPOSAL
Ashley X GlickSpainAmy Elsner RENEWAL
Aditya Y RimJapanAsiya Javayant NEGOTIATION
Faith X PoquetteIndiaXuxue Feng QUALIFIED
Leja G MorascaJapanAsiya Javayant QUALIFIED
Leon R OldroydGermanyStephen Shaw QUALIFIED
Aditya D RutaFranceAmy Elsner NEW
Mujtaba I PoquetteArgentinaStephen Shaw NEW
Kadeem F FlosiJapanAmy Elsner RENEWAL
Jeanfrancois Y DilliardCanadaBernardo Dominic UNQUALIFIED
Clifford I FigeroaCanadaAmy Elsner QUALIFIED
Chavez K CaldareraBrazilAmy Elsner RENEWAL
Morrow A ButtSpainAsiya Javayant NEGOTIATION
Johnson T CaudyRussiaElwin Sharvill PROPOSAL
Francesco G KuskoArgentinaOnyama Limba UNQUALIFIED
Faith L ButtRussiaAmy Elsner NEW
Octavia W KuskoBrazilXuxue Feng QUALIFIED
Faith J NickaJapanAsiya Javayant QUALIFIED
Chavez H TollnerFranceOnyama Limba RENEWAL
Mayumi I FerenczItalyOnyama Limba PROPOSAL
Costa X ShinkoArgentinaXuxue Feng NEGOTIATION
Sinclair E PaprockiGermanyOnyama Limba PROPOSAL
Greenwood H MarrierArgentinaStephen Shaw NEW
Kadeem F ChuiAustraliaXuxue Feng PROPOSAL
Nicolas U MorascaArgentinaIvan Magalhaes NEW
Stacey V StensethIndiaAmy Elsner NEGOTIATION
Munro B MacleadCanadaOnyama Limba RENEWAL
Frozen Columns
Name
Jennifer B Ruta
Arvin L Kusko
Leon K Waycott
Smith Y Gaucho
Jefferson H Albares
Salvatore D Rim
Nicolas M Flosi
Alejandro Z Morasca
Jones M Figeroa
Leja B Schemmer
Rodrigues O Campain
Wickens U Stenseth
Francesco Z Ostrosky
Leja Q Butt
Jefferson K Royster
Antonio U Inouye
Alejandro L Flosi
Mujtaba Y Stenseth
Octavia L Slusarski
Sinclair S Rim
Jefferson D Stenseth
Isabel L Stenseth
Francesco V Foller
Jennifer R Slusarski
Isabel A Foller
Jefferson E Schemmer
Darci B Gaucho
Jones V Ferencz
Emily U Campain
Emily V Garufi
Julie T Ferencz
Murillo E Saylors
Francesco S Royster
Jones H Vocelka
Sinclair K Whobrey
Nicolas S Perin
Maisha D Gillian
Silvio L Oldroyd
Jones X Slusarski
Darci D Royster
Silvio N Marrier
Jennifer Q Chui
Francesco I Paprocki
Emily A Paprocki
Maisha B Butt
Jefferson R Saylors
Misaki H Gillian
Costa D Malet
Kadeem B Dilliard
Juan A Rim
IdCountryDate
1000France2024-05-24
1001Australia2024-06-04
1002France2024-06-18
1003Australia2024-06-22
1004India2024-06-16
1005Germany2024-05-27
1006Italy2024-06-14
1007India2024-06-01
1008Russia2024-06-07
1009United Kingdom2024-06-18
1010Australia2024-06-10
1011Spain2024-06-03
1012Germany2024-06-21
1013United Kingdom2024-06-08
1014Japan2024-05-29
1015Brazil2024-06-21
1016India2024-05-25
1017Brazil2024-05-29
1018Australia2024-05-30
1019United Kingdom2024-06-20
1020United Kingdom2024-06-19
1021Argentina2024-06-12
1022India2024-06-03
1023Italy2024-06-22
1024Italy2024-05-25
1025Germany2024-06-09
1026India2024-05-29
1027United Kingdom2024-06-20
1028Argentina2024-06-10
1029Germany2024-05-30
1030Argentina2024-06-05
1031France2024-05-24
1032Spain2024-06-11
1033Argentina2024-06-09
1034Italy2024-06-14
1035Brazil2024-06-06
1036Canada2024-06-20
1037Russia2024-06-03
1038Spain2024-06-09
1039Brazil2024-06-13
1040Australia2024-05-25
1041United Kingdom2024-06-03
1042Brazil2024-06-09
1043Australia2024-06-13
1044France2024-06-22
1045Australia2024-06-14
1046Spain2024-05-29
1047Canada2024-06-10
1048India2024-05-29
1049Japan2024-06-17

On-Demand Data

NameIdCountryDate
Wickens E Slusarski1000Russia2024-06-09
Octavia D Marrier1001Argentina2024-06-02
Adams J Gillian1002Italy2024-06-01
Octavia W Stockham1003United Kingdom2024-06-02
Maria S Gaucho1004India2024-06-13
Rodrigues G Gillian1005Canada2024-06-12
Julie E Venere1006Australia2024-05-29
Ashley F Nicka1007Italy2024-06-07
Kaitlin Y Campain1008Argentina2024-06-18
James O Nicka1009Australia2024-05-29
Rodrigues E Dilliard1010France2024-06-12
Chavez O Nicka1011United Kingdom2024-06-22
Claire B Caudy1012Russia2024-06-06
Morrow G Ostrosky1013Brazil2024-06-01
Rodrigues J Ruta1014Germany2024-06-07
Kaitlin K Garufi1015Germany2024-06-12
Stacey J Chui1016Japan2024-06-05
Jennifer S Foller1017Australia2024-06-06
Deepesh N Briddick1018Russia2024-05-30
Silvio V Nicka1019Germany2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro Q PerinIndiaAsiya Javayant PROPOSAL
Ricardo U GarufiCanadaAnna Fali PROPOSAL
Misaki C MarrierFranceStephen Shaw RENEWAL
Jones A SchemmerFranceElwin Sharvill NEGOTIATION
Darci K FlosiJapanXuxue Feng QUALIFIED
Alejandro K MaletIndiaAmy Elsner RENEWAL
Jeanfrancois L StockhamFranceElwin Sharvill QUALIFIED
Arvin I MaletRussiaAsiya Javayant UNQUALIFIED
Mayumi B NickaRussiaBernardo Dominic RENEWAL
Wickens A ChuiArgentinaXuxue Feng RENEWAL
Juan L GarufiArgentinaOnyama Limba RENEWAL
Darci V NestleJapanAmy Elsner NEGOTIATION
Kadeem C SchemmerFranceIoni Bowcher PROPOSAL
Ricardo I GlickJapanAsiya Javayant NEGOTIATION
Alejandro P NickaAustraliaStephen Shaw NEGOTIATION
Munro B ShinkoSpainIvan Magalhaes RENEWAL
Kadeem M BologniaAustraliaXuxue Feng QUALIFIED
Nicolas B KolmetzArgentinaElwin Sharvill RENEWAL
Isabel F DoeItalyElwin Sharvill NEW
Maisha Q MaletCanadaIvan Magalhaes PROPOSAL
Jones C FerenczItalyAmy Elsner PROPOSAL
Ricardo P MorascaIndiaIvan Magalhaes PROPOSAL
Mayumi L WieserSpainOnyama Limba NEGOTIATION
Aruna D KolmetzArgentinaIvan Magalhaes NEGOTIATION
Emily J GarufiIndiaStephen Shaw NEGOTIATION
Leja A WhobreyArgentinaAmy Elsner NEW
Juan D KuskoCanadaAmy Elsner NEGOTIATION
Alejandro L StensethUnited KingdomElwin Sharvill NEGOTIATION
Jennifer K WhobreySpainIoni Bowcher PROPOSAL
Kaitlin G StensethBrazilAnna Fali NEGOTIATION
Aika C WieserRussiaXuxue Feng NEGOTIATION
Emily S BowleySpainXuxue Feng NEGOTIATION
Darci O NickaIndiaIvan Magalhaes NEW
Ashley Y PerinJapanBernardo Dominic UNQUALIFIED
Greenwood T CampainRussiaXuxue Feng UNQUALIFIED
Faith I TollnerIndiaStephen Shaw NEGOTIATION
Costa G NickaAustraliaAnna Fali NEW
Leja L NickaCanadaIoni Bowcher NEW
Kadeem Q IturbideIndiaAsiya Javayant NEW
Ashley O MorascaGermanyAnna Fali NEW

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