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
Emily B MaletBrazilIvan Magalhaes UNQUALIFIED
Juan M NickaSpainStephen Shaw UNQUALIFIED
Izzy F CaldareraItalyAmy Elsner QUALIFIED
Mayumi Y GlickArgentinaAmy Elsner NEGOTIATION
Claire Z VenereItalyElwin Sharvill QUALIFIED
Jones Y WhobreyAustraliaAnna Fali PROPOSAL
Mujtaba Z PoquetteCanadaAmy Elsner QUALIFIED
Faith B OstroskyIndiaAnna Fali RENEWAL
Isabel I NickaSpainElwin Sharvill QUALIFIED
Clifford F AmigonSpainAmy Elsner NEW
Smith P KuskoRussiaStephen Shaw RENEWAL
Claire C DoeCanadaIvan Magalhaes RENEWAL
Isabel Y GauchoGermanyAmy Elsner PROPOSAL
Clifford Q DarakjySpainXuxue Feng RENEWAL
Jennifer Z GarufiArgentinaAmy Elsner NEW
Mayumi H FlosiBrazilElwin Sharvill PROPOSAL
Juan E DilliardBrazilAnna Fali QUALIFIED
Sinclair V CaudySpainIvan Magalhaes NEW
Alejandro U RoysterAustraliaIvan Magalhaes NEGOTIATION
Sinclair H AlbaresArgentinaIoni Bowcher NEGOTIATION
Salvatore G ShinkoSpainElwin Sharvill NEW
Cody V DoeSpainStephen Shaw PROPOSAL
Juan E ShinkoArgentinaAmy Elsner QUALIFIED
Antonio C KolmetzUnited KingdomElwin Sharvill RENEWAL
Greenwood O SchemmerAustraliaStephen Shaw QUALIFIED
Alejandro U KuskoBrazilXuxue Feng RENEWAL
Ricardo W CaudyRussiaAsiya Javayant NEGOTIATION
Mujtaba M RutaIndiaAnna Fali PROPOSAL
Sinclair D RoysterFranceAnna Fali PROPOSAL
Aika S BologniaSpainElwin Sharvill UNQUALIFIED
Clifford B RulapaughBrazilAmy Elsner UNQUALIFIED
Murillo D KuskoSpainAsiya Javayant RENEWAL
Munro Q BowleyItalyStephen Shaw QUALIFIED
Alejandro A TollnerCanadaAsiya Javayant QUALIFIED
Darci L DoeGermanyAsiya Javayant NEW
Nicolas B PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Tony W WieserCanadaElwin Sharvill QUALIFIED
Juan R PerinBrazilAnna Fali NEGOTIATION
Julie P StensethAustraliaOnyama Limba RENEWAL
Alejandro A KuskoIndiaOnyama Limba QUALIFIED
Morrow T FollerCanadaAmy Elsner PROPOSAL
Greenwood E SergiRussiaBernardo Dominic NEW
Faith Y VenereSpainIoni Bowcher RENEWAL
Silvio G FollerGermanyOnyama Limba NEGOTIATION
Aruna X SaylorsRussiaAmy Elsner PROPOSAL
Jefferson G MaletArgentinaIvan Magalhaes RENEWAL
Mayumi T RimRussiaElwin Sharvill UNQUALIFIED
Mujtaba C RulapaughGermanyAnna Fali PROPOSAL
Clifford W DilliardFranceAnna Fali UNQUALIFIED
Maisha Q SchemmerSpainAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Emily Z PoquetteSpainAmy Elsner PROPOSAL
Munro H DilliardBrazilAsiya Javayant PROPOSAL
Juan F NickaFranceOnyama Limba QUALIFIED
Clifford I DarakjyBrazilAmy Elsner RENEWAL
Juan C VocelkaRussiaAsiya Javayant PROPOSAL
Antonio Z VenereItalyElwin Sharvill PROPOSAL
Silvio N CaudyArgentinaIvan Magalhaes NEW
Jeanfrancois W StensethItalyOnyama Limba PROPOSAL
Munro Q BriddickFranceAsiya Javayant NEGOTIATION
Greenwood Z CaudyUnited KingdomBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith W FerenczArgentina2026-08-07Dorl, James J Esq NEW35Bernardo Dominic
1001Nicolas O StensethUnited Kingdom2026-08-11King, Christopher A Esq UNQUALIFIED47Ioni Bowcher
1002Jones C WieserAustralia2026-08-06Buckley Miller Wright QUALIFIED66Anna Fali
1003Sinclair H ButtRussia2026-08-12Feltz Printing Service UNQUALIFIED98Elwin Sharvill
1004Deepesh W DarakjyArgentina2026-08-23Dorl, James J Esq RENEWAL34Ioni Bowcher
1005Greenwood Z MarrierSpain2026-08-16Feiner Bros UNQUALIFIED46Bernardo Dominic
1006Silvio G CampainIndia2026-08-14Chanay, Jeffrey A Esq QUALIFIED19Ioni Bowcher
1007Tony W MarrierFrance2026-09-02Benton, John B Jr PROPOSAL81Elwin Sharvill
1008Morrow P NickaIndia2026-08-14Chapman, Ross E Esq NEGOTIATION14Stephen Shaw
1009Isabel U NickaIndia2026-09-02Feiner Bros UNQUALIFIED80Ivan Magalhaes
1010Ivar A KuskoIndia2026-09-02Truhlar And Truhlar Attys QUALIFIED96Onyama Limba
1011Jennifer S SchemmerRussia2026-08-23Benton, John B Jr QUALIFIED72Elwin Sharvill
1012Wickens G GarufiGermany2026-08-22Feiner Bros NEW75Xuxue Feng
1013Misaki A PaprockiJapan2026-09-02Feltz Printing Service QUALIFIED45Ivan Magalhaes
1014Antonio E ButtFrance2026-08-12Truhlar And Truhlar Attys RENEWAL9Bernardo Dominic
1015David T PoquetteArgentina2026-08-09Feltz Printing Service RENEWAL12Bernardo Dominic
1016Deepesh K OldroydArgentina2026-08-08Buckley Miller Wright QUALIFIED42Amy Elsner
1017Darci D PoquetteUnited Kingdom2026-08-11Chapman, Ross E Esq RENEWAL55Anna Fali
1018Aika R PaprockiSpain2026-08-10Feiner Bros PROPOSAL97Ivan Magalhaes
1019Chavez W GarufiItaly2026-08-09King, Christopher A Esq QUALIFIED23Ioni Bowcher
1020Adams F OstroskyRussia2026-08-07Rangoni Of Florence RENEWAL9Amy Elsner
1021Claire J GillianGermany2026-08-31Buckley Miller Wright RENEWAL78Onyama Limba
1022Ashley Y MorascaUnited Kingdom2026-08-11Printing Dimensions QUALIFIED59Bernardo Dominic
1023David Q ChuiGermany2026-08-29King, Christopher A Esq NEW10Ivan Magalhaes
1024Leon B CaudyFrance2026-08-12Printing Dimensions RENEWAL84Anna Fali
1025Deepesh S OldroydFrance2026-08-24Chemel, James L Cpa NEGOTIATION79Onyama Limba
1026Deepesh O VenereFrance2026-08-19Printing Dimensions PROPOSAL6Amy Elsner
1027Kadeem Z FlosiIndia2026-08-24Feiner Bros RENEWAL73Elwin Sharvill
1028Wickens P PerinGermany2026-08-07Feiner Bros PROPOSAL93Bernardo Dominic
1029Morrow O FerenczSpain2026-09-01Buckley Miller Wright RENEWAL88Elwin Sharvill
1030Aika L MaletItaly2026-08-28Truhlar And Truhlar Attys RENEWAL99Onyama Limba
1031Mujtaba V NickaIndia2026-08-25Printing Dimensions QUALIFIED72Xuxue Feng
1032Ashley C PerinItaly2026-08-13Commercial Press UNQUALIFIED99Bernardo Dominic
1033Nicolas L PerinGermany2026-08-12Feiner Bros NEW73Stephen Shaw
1034Jennifer O RoysterGermany2026-08-17Chanay, Jeffrey A Esq NEW1Xuxue Feng
1035Maisha F MaletUnited Kingdom2026-08-09Truhlar And Truhlar Attys UNQUALIFIED10Amy Elsner
1036Deepesh L SlusarskiArgentina2026-08-21Feiner Bros RENEWAL99Stephen Shaw
1037Leon E MacleadIndia2026-08-22Feiner Bros UNQUALIFIED22Anna Fali
1038Munro O DarakjyUnited Kingdom2026-08-24Feiner Bros RENEWAL91Onyama Limba
1039Jeanfrancois H GauchoSpain2026-08-20Truhlar And Truhlar Attys PROPOSAL43Stephen Shaw
1040Murillo K GarufiArgentina2026-08-06Dorl, James J Esq NEW43Asiya Javayant
1041Smith G BriddickSpain2026-08-27Benton, John B Jr RENEWAL29Ivan Magalhaes
1042Sinclair X MacleadArgentina2026-08-09Dorl, James J Esq UNQUALIFIED6Ivan Magalhaes
1043Kaitlin B VocelkaJapan2026-08-28Dorl, James J Esq NEGOTIATION22Stephen Shaw
1044Chavez B MorascaItaly2026-08-08Chanay, Jeffrey A Esq UNQUALIFIED96Elwin Sharvill
1045Kaitlin A RutaRussia2026-08-10Feltz Printing Service QUALIFIED30Xuxue Feng
1046Faith C GillianAustralia2026-09-02Dorl, James J Esq QUALIFIED88Bernardo Dominic
1047Silvio D BowleyJapan2026-08-14Feiner Bros UNQUALIFIED38Anna Fali
1048Munro S GlickArgentina2026-08-20Truhlar And Truhlar Attys RENEWAL86Elwin Sharvill
1049Ivar A WaycottFrance2026-08-25Morlong Associates UNQUALIFIED56Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Leon V VenereUnited KingdomXuxue Feng NEW
Julie I OldroydJapanXuxue Feng RENEWAL
Kadeem P SaylorsItalyOnyama Limba RENEWAL
Isabel K RulapaughIndiaXuxue Feng PROPOSAL
Octavia O NestleRussiaAmy Elsner QUALIFIED
Wickens P CampainRussiaOnyama Limba RENEWAL
Antonio J IturbideFranceBernardo Dominic UNQUALIFIED
Cody S BriddickArgentinaBernardo Dominic RENEWAL
Claire D FigeroaRussiaAnna Fali QUALIFIED
Aditya J TollnerRussiaOnyama Limba UNQUALIFIED
Izzy W BologniaFranceXuxue Feng NEGOTIATION
Cody K OstroskyGermanyElwin Sharvill NEW
Nicolas Q GillianRussiaIoni Bowcher PROPOSAL
Mujtaba M KolmetzIndiaAnna Fali NEGOTIATION
Clifford S DarakjyIndiaAmy Elsner UNQUALIFIED
Kadeem Q GarufiCanadaAsiya Javayant QUALIFIED
Smith K NestleSpainAnna Fali UNQUALIFIED
Johnson S DoeAustraliaAnna Fali QUALIFIED
James V VenereItalyAsiya Javayant NEW
Jefferson Q StockhamGermanyBernardo Dominic QUALIFIED
Leja S WieserFranceXuxue Feng QUALIFIED
Emily N IturbideItalyAnna Fali UNQUALIFIED
Johnson R DarakjyAustraliaElwin Sharvill NEW
Antonio Y AlbaresFranceAnna Fali NEGOTIATION
Leja R ShinkoBrazilStephen Shaw NEGOTIATION
Costa U StockhamJapanAnna Fali UNQUALIFIED
James G SergiJapanAsiya Javayant QUALIFIED
Greenwood C CaudyCanadaBernardo Dominic NEGOTIATION
Kaitlin V IturbideCanadaAmy Elsner RENEWAL
Salvatore W PerinUnited KingdomIoni Bowcher QUALIFIED
Wickens N PerinRussiaIoni Bowcher QUALIFIED
Aruna H PaprockiRussiaBernardo Dominic RENEWAL
Aruna W AmigonSpainIoni Bowcher PROPOSAL
Faith P StensethBrazilElwin Sharvill QUALIFIED
Leja M AlbaresArgentinaXuxue Feng PROPOSAL
Salvatore R DarakjySpainIoni Bowcher PROPOSAL
Murillo Z DoeBrazilAnna Fali NEGOTIATION
Nicolas V VocelkaGermanyElwin Sharvill NEW
Ashley R KolmetzJapanElwin Sharvill UNQUALIFIED
Maria R FlosiBrazilXuxue Feng PROPOSAL
Munro R BologniaItalyAsiya Javayant PROPOSAL
Alejandro K FollerCanadaStephen Shaw NEW
Juan U PoquetteAustraliaIvan Magalhaes NEGOTIATION
Sinclair Q NestleUnited KingdomAsiya Javayant PROPOSAL
Kadeem Q VenereJapanElwin Sharvill RENEWAL
Julie Y WaycottItalyElwin Sharvill NEGOTIATION
Jennifer F FollerRussiaXuxue Feng RENEWAL
Francesco V FollerRussiaAsiya Javayant UNQUALIFIED
Julie C GarufiRussiaStephen Shaw RENEWAL
Munro G ShinkoCanadaAnna Fali NEGOTIATION
Frozen Columns
Name
Claire Z Morasca
Chavez W Caldarera
Murillo T Iturbide
Sinclair E Chui
Misaki O Schemmer
Adams Y Garufi
Octavia G Caudy
Kadeem V Briddick
Costa G Nestle
Faith Y Perin
Leja V Foller
Isabel S Briddick
Julie H Figeroa
Sinclair L Malet
Ivar K Glick
Darci X Butt
Salvatore A Sergi
Jennifer X Malet
Faith P Royster
Leja Y Butt
Alejandro C Glick
Deepesh U Whobrey
Greenwood B Kusko
Aika S Butt
Izzy D Ferencz
Kadeem R Rim
Silvio A Vocelka
Jeanfrancois T Inouye
Jennifer I Ostrosky
Costa P Schemmer
Kaitlin T Venere
Alejandro L Bowley
Stacey Q Inouye
Leon N Campain
Ivar M Campain
Misaki D Slusarski
Darci S Figeroa
Cody I Gaucho
Silvio A Saylors
Faith E Ferencz
Antonio D Figeroa
Ashley C Malet
Jennifer C Paprocki
Murillo H Foller
Aika C Foller
Tony E Whobrey
Aruna A Glick
Leon T Nicka
Jones I Darakjy
Chavez B Shinko
IdCountryDate
1000India2026-08-16
1001Argentina2026-08-25
1002India2026-08-26
1003Brazil2026-08-20
1004Argentina2026-08-13
1005India2026-08-26
1006Germany2026-08-06
1007Australia2026-08-30
1008Spain2026-08-26
1009India2026-08-21
1010Australia2026-08-18
1011Canada2026-08-24
1012Brazil2026-08-06
1013United Kingdom2026-08-14
1014Australia2026-08-21
1015United Kingdom2026-08-23
1016India2026-08-09
1017Germany2026-08-11
1018Canada2026-08-04
1019Brazil2026-08-21
1020Spain2026-08-24
1021France2026-08-13
1022Russia2026-08-04
1023Brazil2026-08-05
1024India2026-08-30
1025Italy2026-08-28
1026Italy2026-08-14
1027United Kingdom2026-08-29
1028Canada2026-08-19
1029United Kingdom2026-08-31
1030Argentina2026-08-29
1031France2026-08-08
1032Italy2026-08-09
1033India2026-08-13
1034Germany2026-08-09
1035Italy2026-08-26
1036Russia2026-08-28
1037Germany2026-08-14
1038Brazil2026-08-23
1039Argentina2026-08-16
1040United Kingdom2026-08-23
1041Italy2026-08-21
1042United Kingdom2026-08-16
1043Russia2026-08-31
1044United Kingdom2026-08-31
1045Australia2026-08-17
1046Argentina2026-08-04
1047United Kingdom2026-08-31
1048United Kingdom2026-08-06
1049Canada2026-08-30

On-Demand Data

NameIdCountryDate
Sinclair R Ostrosky1000Argentina2026-08-09
Alejandro J Gillian1001India2026-08-26
Kadeem H Rim1002India2026-08-13
Chavez T Gillian1003Japan2026-08-21
Stacey J Kolmetz1004Australia2026-08-28
Costa U Slusarski1005France2026-08-25
Arvin G Slusarski1006Russia2026-08-18
Izzy G Kusko1007India2026-08-07
Deepesh R Figeroa1008Spain2026-08-31
Jefferson U Tollner1009France2026-08-08
Silvio K Morasca1010Argentina2026-08-08
Salvatore A Marrier1011Italy2026-08-11
Deepesh L Ruta1012Japan2026-08-11
Greenwood M Briddick1013Argentina2026-08-04
Mujtaba Z Shinko1014Argentina2026-08-05
Ricardo J Doe1015United Kingdom2026-08-04
Nicolas S Whobrey1016Russia2026-08-05
Sinclair H Stenseth1017Japan2026-08-12
Leja R Wieser1018Russia2026-08-07
Claire A Doe1019United Kingdom2026-08-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois Y BologniaBrazilStephen Shaw UNQUALIFIED
Kadeem K DoeUnited KingdomElwin Sharvill NEW
Jeanfrancois Y CampainFranceElwin Sharvill PROPOSAL
Mujtaba T SaylorsIndiaXuxue Feng NEW
Alejandro U MorascaUnited KingdomXuxue Feng RENEWAL
Aika V DoeUnited KingdomAsiya Javayant PROPOSAL
Leja O SlusarskiCanadaIoni Bowcher PROPOSAL
Emily Y GlickGermanyXuxue Feng NEW
Ricardo L FlosiGermanyStephen Shaw PROPOSAL
Jefferson Q WaycottSpainIoni Bowcher RENEWAL
Cody Z NickaAustraliaIvan Magalhaes UNQUALIFIED
Greenwood B NestleCanadaBernardo Dominic PROPOSAL
Octavia O SergiAustraliaElwin Sharvill NEW
Emily Q GauchoUnited KingdomElwin Sharvill PROPOSAL
James G WaycottJapanXuxue Feng NEW
Maisha E RimRussiaIoni Bowcher NEW
Greenwood O MarrierBrazilStephen Shaw NEW
Rodrigues N StockhamAustraliaAsiya Javayant QUALIFIED
Cody J CampainRussiaXuxue Feng NEGOTIATION
Sinclair Y ButtJapanStephen Shaw PROPOSAL
Adams F RoysterArgentinaElwin Sharvill RENEWAL
Tony P ChuiCanadaAmy Elsner NEGOTIATION
Maisha N BowleyArgentinaIoni Bowcher PROPOSAL
James S FollerCanadaIoni Bowcher UNQUALIFIED
Cody Y SergiAustraliaXuxue Feng RENEWAL
Julie Z MarrierRussiaIvan Magalhaes PROPOSAL
Mujtaba Q DoeArgentinaAmy Elsner NEW
David F DarakjyFranceXuxue Feng RENEWAL
Arvin N ChuiItalyIoni Bowcher NEGOTIATION
Murillo K GarufiAustraliaBernardo Dominic QUALIFIED
Greenwood L GarufiIndiaElwin Sharvill NEGOTIATION
Greenwood O WaycottItalyAmy Elsner NEGOTIATION
Misaki P InouyeGermanyIoni Bowcher NEGOTIATION
Deepesh K FerenczBrazilAnna Fali NEW
Greenwood H MarrierJapanAmy Elsner NEGOTIATION
Ricardo J RulapaughCanadaIvan Magalhaes UNQUALIFIED
Munro J MaletCanadaElwin Sharvill PROPOSAL
Antonio W GillianGermanyAsiya Javayant RENEWAL
Mayumi R FlosiRussiaIoni Bowcher NEW
Julie R GillianJapanAmy Elsner QUALIFIED

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