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 P BologniaRussiaIvan Magalhaes NEGOTIATION
Nicolas S FigeroaFranceIoni Bowcher QUALIFIED
Stacey W GlickAustraliaXuxue Feng NEW
Deepesh V SlusarskiIndiaIvan Magalhaes NEGOTIATION
Mujtaba W OldroydAustraliaIoni Bowcher PROPOSAL
Maria A PoquetteItalyIvan Magalhaes RENEWAL
Emily H SlusarskiRussiaAmy Elsner PROPOSAL
Wickens I GlickArgentinaIoni Bowcher RENEWAL
Kadeem G CaudyCanadaStephen Shaw PROPOSAL
Ivar J DilliardUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba A MacleadArgentinaStephen Shaw PROPOSAL
Morrow D TollnerRussiaStephen Shaw NEW
Arvin M RoysterGermanyElwin Sharvill QUALIFIED
Morrow K KuskoAustraliaElwin Sharvill PROPOSAL
Murillo I SergiSpainIvan Magalhaes UNQUALIFIED
Octavia I SlusarskiSpainStephen Shaw QUALIFIED
Ivar K ShinkoRussiaOnyama Limba PROPOSAL
Aika O BriddickFranceAmy Elsner QUALIFIED
Jones U GarufiFranceElwin Sharvill UNQUALIFIED
Adams F StensethJapanBernardo Dominic QUALIFIED
Ivar W DilliardUnited KingdomXuxue Feng NEW
Ricardo Q CaudyJapanIoni Bowcher UNQUALIFIED
Jeanfrancois T WaycottSpainXuxue Feng NEW
Misaki A SergiBrazilAnna Fali RENEWAL
Kaitlin G NickaFranceIvan Magalhaes UNQUALIFIED
Adams K GauchoItalyXuxue Feng PROPOSAL
Aditya K AmigonBrazilIoni Bowcher NEW
Leja F RutaRussiaOnyama Limba PROPOSAL
Ricardo K NestleFranceXuxue Feng NEW
Aruna V FlosiArgentinaAmy Elsner UNQUALIFIED
Kadeem X MaletFranceOnyama Limba PROPOSAL
Adams U NickaGermanyStephen Shaw NEW
Greenwood P PoquetteIndiaIvan Magalhaes UNQUALIFIED
Greenwood H GauchoIndiaOnyama Limba NEGOTIATION
Ashley H VenereRussiaOnyama Limba PROPOSAL
Murillo F BriddickGermanyAsiya Javayant UNQUALIFIED
Costa Q CaldareraBrazilAnna Fali NEGOTIATION
Leja I CampainIndiaAmy Elsner PROPOSAL
Tony U StockhamGermanyBernardo Dominic NEGOTIATION
Aditya K RutaIndiaElwin Sharvill QUALIFIED
Munro L OstroskyIndiaAmy Elsner NEGOTIATION
Izzy P PoquetteArgentinaIvan Magalhaes RENEWAL
Rodrigues Z RimAustraliaBernardo Dominic QUALIFIED
Juan I CaldareraItalyAnna Fali RENEWAL
Silvio K OstroskyAustraliaIoni Bowcher NEGOTIATION
Aika G GauchoRussiaAsiya Javayant NEW
Jefferson B DoeUnited KingdomAnna Fali NEW
Claire X ShinkoSpainXuxue Feng NEGOTIATION
Maisha C BologniaUnited KingdomAsiya Javayant PROPOSAL
Rodrigues Q NestleUnited KingdomElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kadeem P DoeAustraliaAmy Elsner NEGOTIATION
Izzy O MacleadItalyAnna Fali QUALIFIED
Salvatore O SaylorsGermanyStephen Shaw PROPOSAL
Munro N BowleyItalyXuxue Feng RENEWAL
Maisha R DilliardBrazilIvan Magalhaes UNQUALIFIED
Ivar E CaudyItalyOnyama Limba UNQUALIFIED
Munro J GauchoAustraliaIvan Magalhaes NEW
Ivar L GlickAustraliaXuxue Feng PROPOSAL
Leja J CaldareraJapanStephen Shaw NEW
Smith W CaudyItalyOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro M GillianAustralia2024-06-08Benton, John B Jr NEW31Bernardo Dominic
1001Aika P BriddickFrance2024-06-15Chemel, James L Cpa UNQUALIFIED85Bernardo Dominic
1002Greenwood C ShinkoAustralia2024-06-17Rousseaux, Michael Esq PROPOSAL24Asiya Javayant
1003Kaitlin X InouyeFrance2024-06-10Rangoni Of Florence RENEWAL49Stephen Shaw
1004Ashley V VocelkaArgentina2024-06-15Truhlar And Truhlar Attys PROPOSAL22Asiya Javayant
1005Jones Q OldroydAustralia2024-06-11Printing Dimensions NEW11Stephen Shaw
1006Jones V SergiGermany2024-06-21Commercial Press NEW88Ioni Bowcher
1007Ivar T BologniaCanada2024-06-20Benton, John B Jr RENEWAL52Asiya Javayant
1008Juan D MaletCanada2024-06-05Rangoni Of Florence QUALIFIED23Onyama Limba
1009Clifford G StockhamJapan2024-06-16Chapman, Ross E Esq NEW18Amy Elsner
1010Jefferson R SchemmerAustralia2024-06-16King, Christopher A Esq NEGOTIATION45Ioni Bowcher
1011Ricardo M MaletRussia2024-05-24Feltz Printing Service NEW10Amy Elsner
1012Emily Z InouyeJapan2024-06-16Chapman, Ross E Esq NEGOTIATION71Anna Fali
1013Rodrigues K SchemmerSpain2024-06-06Dorl, James J Esq UNQUALIFIED16Stephen Shaw
1014Wickens C PoquetteCanada2024-05-24Morlong Associates QUALIFIED41Asiya Javayant
1015David B AmigonJapan2024-06-20Chanay, Jeffrey A Esq PROPOSAL64Elwin Sharvill
1016Alejandro N KolmetzUnited Kingdom2024-05-27Commercial Press UNQUALIFIED34Stephen Shaw
1017Leon H OldroydGermany2024-06-19Chemel, James L Cpa QUALIFIED61Bernardo Dominic
1018Sinclair Y FlosiItaly2024-05-29Rangoni Of Florence PROPOSAL52Stephen Shaw
1019Ricardo U RimArgentina2024-05-26Morlong Associates QUALIFIED81Bernardo Dominic
1020Morrow R FigeroaFrance2024-06-15Printing Dimensions NEW3Amy Elsner
1021Leja D VenereSpain2024-06-08Chanay, Jeffrey A Esq RENEWAL69Stephen Shaw
1022Emily F SergiJapan2024-06-21Benton, John B Jr RENEWAL21Anna Fali
1023Julie T MorascaItaly2024-06-18Dorl, James J Esq RENEWAL68Stephen Shaw
1024Smith D KuskoFrance2024-05-25Rousseaux, Michael Esq QUALIFIED83Stephen Shaw
1025Ivar C OstroskyRussia2024-06-20Chemel, James L Cpa NEW2Amy Elsner
1026Chavez E MacleadIndia2024-06-10Printing Dimensions UNQUALIFIED43Onyama Limba
1027Nicolas Q CampainRussia2024-06-18Benton, John B Jr QUALIFIED86Elwin Sharvill
1028Rodrigues V WaycottItaly2024-06-04Buckley Miller Wright UNQUALIFIED37Amy Elsner
1029Costa B DilliardAustralia2024-05-31Commercial Press UNQUALIFIED25Onyama Limba
1030Aruna O AmigonUnited Kingdom2024-05-25Chanay, Jeffrey A Esq QUALIFIED86Amy Elsner
1031Sinclair V MaletBrazil2024-06-14Commercial Press RENEWAL66Elwin Sharvill
1032Adams X OldroydItaly2024-05-25Chemel, James L Cpa PROPOSAL99Ivan Magalhaes
1033Munro H BriddickGermany2024-06-08Chanay, Jeffrey A Esq NEW34Elwin Sharvill
1034Isabel G OldroydBrazil2024-06-21Buckley Miller Wright NEW75Anna Fali
1035Mayumi Y KolmetzRussia2024-06-10Chapman, Ross E Esq RENEWAL43Elwin Sharvill
1036Jones A WaycottSpain2024-06-16Truhlar And Truhlar Attys QUALIFIED73Asiya Javayant
1037Ricardo U AlbaresSpain2024-06-20Feiner Bros QUALIFIED36Anna Fali
1038Wickens F StockhamBrazil2024-06-10Benton, John B Jr NEGOTIATION58Asiya Javayant
1039Mayumi D NickaSpain2024-05-28Morlong Associates UNQUALIFIED69Bernardo Dominic
1040Salvatore T StensethFrance2024-06-03Chemel, James L Cpa NEGOTIATION27Onyama Limba
1041Cody Z GauchoArgentina2024-06-05Rousseaux, Michael Esq PROPOSAL1Elwin Sharvill
1042Maisha G WhobreyItaly2024-06-19Rousseaux, Michael Esq UNQUALIFIED85Bernardo Dominic
1043Antonio H RoysterItaly2024-06-20Dorl, James J Esq RENEWAL31Ivan Magalhaes
1044Morrow S GarufiSpain2024-06-16Truhlar And Truhlar Attys NEGOTIATION73Elwin Sharvill
1045Darci O InouyeFrance2024-06-20Chapman, Ross E Esq NEGOTIATION38Bernardo Dominic
1046Costa S MaletArgentina2024-06-21Rangoni Of Florence NEW73Amy Elsner
1047Wickens O WaycottRussia2024-06-17Rangoni Of Florence PROPOSAL20Amy Elsner
1048Cody M SaylorsGermany2024-06-04King, Christopher A Esq RENEWAL24Onyama Limba
1049Costa G FigeroaBrazil2024-06-08Feiner Bros RENEWAL21Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ricardo P ButtArgentinaXuxue Feng RENEWAL
Aika P RutaGermanyElwin Sharvill UNQUALIFIED
Greenwood Y OstroskyItalyAnna Fali QUALIFIED
David C KolmetzUnited KingdomStephen Shaw RENEWAL
Kaitlin N FollerAustraliaBernardo Dominic PROPOSAL
Jennifer B OstroskyItalyAmy Elsner NEGOTIATION
Juan J FigeroaGermanyStephen Shaw QUALIFIED
David O RulapaughUnited KingdomAnna Fali PROPOSAL
Adams Q PerinItalyXuxue Feng NEW
Stacey I ButtBrazilStephen Shaw NEW
Morrow D BologniaItalyAmy Elsner UNQUALIFIED
Francesco B WaycottUnited KingdomOnyama Limba PROPOSAL
Salvatore P MaletBrazilIvan Magalhaes PROPOSAL
Ricardo U OstroskySpainIvan Magalhaes NEW
Aditya W OldroydSpainIvan Magalhaes RENEWAL
Octavia Y WieserGermanyXuxue Feng UNQUALIFIED
Ivar V DoeBrazilXuxue Feng QUALIFIED
Octavia E PoquetteCanadaOnyama Limba UNQUALIFIED
Maria F WhobreyCanadaBernardo Dominic UNQUALIFIED
Misaki D GillianUnited KingdomAsiya Javayant UNQUALIFIED
David T AmigonSpainAnna Fali PROPOSAL
Aditya X FlosiItalyAmy Elsner QUALIFIED
Salvatore N NickaIndiaOnyama Limba UNQUALIFIED
Ricardo A CaldareraUnited KingdomOnyama Limba NEGOTIATION
Clifford M AmigonRussiaAmy Elsner NEW
Greenwood S SergiArgentinaAnna Fali UNQUALIFIED
Aika G WaycottIndiaAsiya Javayant PROPOSAL
Mayumi G AmigonItalyAnna Fali QUALIFIED
Rodrigues B FerenczCanadaElwin Sharvill PROPOSAL
Jefferson L SergiSpainAsiya Javayant UNQUALIFIED
Aika D SchemmerBrazilElwin Sharvill NEGOTIATION
Isabel P FlosiAustraliaXuxue Feng RENEWAL
Maisha Q WieserRussiaBernardo Dominic NEW
Deepesh U OldroydSpainBernardo Dominic NEGOTIATION
Salvatore V GillianJapanBernardo Dominic UNQUALIFIED
Munro N GillianFranceIvan Magalhaes PROPOSAL
Costa S CaldareraRussiaBernardo Dominic NEGOTIATION
Johnson A KolmetzSpainBernardo Dominic QUALIFIED
Chavez F ButtAustraliaBernardo Dominic RENEWAL
Octavia U PaprockiGermanyElwin Sharvill NEW
Mayumi A KuskoBrazilAsiya Javayant NEGOTIATION
Emily J BriddickBrazilIvan Magalhaes RENEWAL
Jennifer Q CaldareraUnited KingdomIvan Magalhaes QUALIFIED
Nicolas J BologniaGermanyBernardo Dominic QUALIFIED
Adams Q KolmetzAustraliaAmy Elsner NEGOTIATION
David X MaletSpainElwin Sharvill NEGOTIATION
Adams A MaletCanadaAnna Fali QUALIFIED
Octavia N DarakjyJapanStephen Shaw PROPOSAL
Emily T RutaIndiaBernardo Dominic NEGOTIATION
Julie P CaldareraGermanyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Juan N Malet
Nicolas I Inouye
Kadeem D Amigon
Kadeem L Slusarski
Leja E Perin
Isabel V Gaucho
Maisha H Nicka
Deepesh W Slusarski
Mayumi P Flosi
Adams K Caudy
James Q Waycott
Salvatore S Figeroa
Jennifer H Campain
Julie R Maclead
Chavez L Nestle
Francesco S Inouye
Juan B Garufi
Greenwood B Morasca
Cody Z Kusko
Aruna D Gillian
Aika U Sergi
Julie M Caudy
Aika Q Glick
Julie D Figeroa
Ashley G Ostrosky
Chavez H Tollner
Leja I Tollner
Julie Q Slusarski
Jennifer X Doe
Maria B Butt
Kadeem X Figeroa
Adams E Kusko
Emily R Whobrey
David E Waycott
Faith U Saylors
Juan P Dilliard
Leja B Morasca
Aruna M Malet
Misaki D Glick
James I Slusarski
Costa B Butt
Darci V Bowley
Smith L Nicka
Munro A Malet
Misaki W Rulapaugh
Isabel E Gillian
Arvin N Briddick
Deepesh W Inouye
Tony U Doe
Izzy P Saylors
IdCountryDate
1000France2024-06-08
1001Japan2024-06-04
1002Russia2024-06-19
1003Italy2024-06-10
1004Japan2024-06-19
1005Argentina2024-05-26
1006Brazil2024-06-10
1007Spain2024-06-03
1008Italy2024-06-19
1009Canada2024-06-13
1010Canada2024-05-25
1011France2024-05-31
1012Japan2024-06-05
1013Germany2024-06-11
1014Spain2024-06-05
1015India2024-05-25
1016Spain2024-05-29
1017Canada2024-06-14
1018India2024-05-25
1019Spain2024-06-14
1020Spain2024-05-27
1021Germany2024-06-02
1022Brazil2024-06-09
1023India2024-06-08
1024Australia2024-05-27
1025India2024-06-12
1026Spain2024-06-13
1027Japan2024-05-26
1028Russia2024-06-02
1029Argentina2024-06-17
1030Russia2024-05-28
1031France2024-05-29
1032Spain2024-06-06
1033Canada2024-06-16
1034Spain2024-06-20
1035Canada2024-05-31
1036Argentina2024-06-13
1037France2024-06-13
1038France2024-05-27
1039Spain2024-05-30
1040Spain2024-05-28
1041France2024-06-17
1042Italy2024-05-28
1043India2024-06-01
1044Brazil2024-05-31
1045Germany2024-06-09
1046India2024-06-14
1047Canada2024-06-18
1048Australia2024-06-08
1049Russia2024-06-15

On-Demand Data

NameIdCountryDate
Izzy M Glick1000India2024-06-04
Smith C Figeroa1001India2024-06-01
Claire X Tollner1002Italy2024-06-18
Wickens G Garufi1003Spain2024-05-26
Alejandro P Kusko1004Spain2024-06-11
Ashley R Albares1005Russia2024-06-20
Morrow Q Butt1006Brazil2024-06-01
Jefferson N Kusko1007Spain2024-06-21
Aditya I Amigon1008Russia2024-05-25
Ivar B Iturbide1009Japan2024-05-24
Mayumi S Albares1010Spain2024-06-06
Mujtaba Q Maclead1011Argentina2024-06-16
Isabel M Maclead1012Italy2024-06-02
Leja T Ferencz1013United Kingdom2024-06-16
Cody H Vocelka1014Brazil2024-05-29
Aditya B Briddick1015Russia2024-05-23
Aditya M Ruta1016Russia2024-06-08
Jennifer L Nicka1017France2024-06-04
Jennifer M Ruta1018India2024-05-26
Adams V Butt1019Canada2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba Q OstroskyJapanIoni Bowcher RENEWAL
Jones F BologniaCanadaAnna Fali NEGOTIATION
Jennifer Y DarakjyUnited KingdomAsiya Javayant PROPOSAL
Greenwood V RimArgentinaAmy Elsner QUALIFIED
Maria V FollerSpainElwin Sharvill PROPOSAL
Arvin X FlosiGermanyElwin Sharvill NEW
Kaitlin Z VenereBrazilStephen Shaw UNQUALIFIED
Smith R MarrierFranceIvan Magalhaes NEW
Morrow I GlickJapanBernardo Dominic PROPOSAL
Ashley C VenereItalyBernardo Dominic PROPOSAL
Munro H CaudySpainAsiya Javayant NEGOTIATION
Maisha Q GauchoBrazilIoni Bowcher PROPOSAL
Kadeem D RimArgentinaElwin Sharvill NEGOTIATION
Ivar X WhobreyCanadaStephen Shaw NEW
Wickens M VenereJapanXuxue Feng RENEWAL
Cody U MaletBrazilAsiya Javayant NEW
Smith R KuskoIndiaElwin Sharvill QUALIFIED
Wickens B FerenczCanadaIvan Magalhaes PROPOSAL
Clifford Q MarrierJapanStephen Shaw QUALIFIED
Faith I MaletIndiaElwin Sharvill RENEWAL
Murillo B ShinkoAustraliaStephen Shaw RENEWAL
Deepesh Q FollerFranceElwin Sharvill UNQUALIFIED
Emily R FigeroaUnited KingdomAmy Elsner PROPOSAL
Chavez Z MarrierBrazilElwin Sharvill UNQUALIFIED
Cody B CampainIndiaBernardo Dominic NEGOTIATION
Izzy B KuskoGermanyXuxue Feng PROPOSAL
Jennifer T MaletIndiaBernardo Dominic NEW
Francesco R AlbaresSpainElwin Sharvill RENEWAL
Deepesh G NickaGermanyIvan Magalhaes NEGOTIATION
Smith X GauchoRussiaStephen Shaw QUALIFIED
Juan H FlosiUnited KingdomBernardo Dominic PROPOSAL
Izzy X CaldareraRussiaAsiya Javayant NEGOTIATION
Leja Q DoeArgentinaAmy Elsner QUALIFIED
Maria E CaldareraRussiaAmy Elsner RENEWAL
Jennifer L MacleadArgentinaAsiya Javayant UNQUALIFIED
Aditya M VenereRussiaXuxue Feng QUALIFIED
Darci J FollerRussiaBernardo Dominic PROPOSAL
Morrow W BologniaArgentinaElwin Sharvill RENEWAL
Kadeem C MorascaSpainAmy Elsner NEGOTIATION
Deepesh V GlickItalyIoni Bowcher 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>