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
Cody J CampainBrazilElwin Sharvill RENEWAL
Leon W GarufiArgentinaIoni Bowcher QUALIFIED
Munro A BowleyRussiaAmy Elsner NEGOTIATION
Julie Z SergiGermanyStephen Shaw QUALIFIED
Murillo O FerenczAustraliaOnyama Limba QUALIFIED
Kadeem S IturbideFranceStephen Shaw NEW
Maisha M VenereJapanIoni Bowcher UNQUALIFIED
Aruna S PerinArgentinaElwin Sharvill NEW
Sinclair B TollnerAustraliaIoni Bowcher RENEWAL
Mayumi S CaldareraFranceIvan Magalhaes UNQUALIFIED
Darci V SaylorsFranceIvan Magalhaes RENEWAL
Alejandro U MarrierItalyAmy Elsner NEGOTIATION
Mujtaba V RutaGermanyStephen Shaw QUALIFIED
Mujtaba P RoysterGermanyAmy Elsner QUALIFIED
Mujtaba L IturbideRussiaStephen Shaw PROPOSAL
Murillo N PaprockiUnited KingdomStephen Shaw PROPOSAL
Chavez S BriddickRussiaElwin Sharvill NEGOTIATION
Jefferson N AlbaresArgentinaIvan Magalhaes UNQUALIFIED
Darci B AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Salvatore X BriddickSpainIoni Bowcher NEGOTIATION
Maria X TollnerGermanyBernardo Dominic NEGOTIATION
Deepesh T FerenczGermanyIvan Magalhaes NEGOTIATION
Smith R GlickCanadaIvan Magalhaes QUALIFIED
Salvatore T GillianGermanyIoni Bowcher NEW
Wickens B RulapaughIndiaIvan Magalhaes UNQUALIFIED
Leja C MaletJapanStephen Shaw NEW
Maria U BowleyGermanyOnyama Limba NEGOTIATION
Greenwood B DilliardCanadaOnyama Limba QUALIFIED
Izzy J IturbideAustraliaStephen Shaw UNQUALIFIED
Arvin B RimUnited KingdomBernardo Dominic NEGOTIATION
Clifford Z SaylorsGermanyIvan Magalhaes NEW
Francesco C ButtSpainIvan Magalhaes NEW
Claire L ShinkoSpainIoni Bowcher NEW
Juan W MorascaJapanIvan Magalhaes QUALIFIED
Aruna Y PaprockiArgentinaIvan Magalhaes QUALIFIED
David J RulapaughSpainStephen Shaw NEGOTIATION
Jefferson E MaletArgentinaAsiya Javayant PROPOSAL
Isabel C CaldareraUnited KingdomAmy Elsner NEGOTIATION
Stacey T CampainArgentinaAnna Fali NEW
Johnson B RutaJapanIvan Magalhaes RENEWAL
Claire B MaletRussiaXuxue Feng NEW
Costa L PaprockiItalyAsiya Javayant NEW
Julie D RoysterRussiaIoni Bowcher NEGOTIATION
Kadeem L TollnerUnited KingdomXuxue Feng NEGOTIATION
Sinclair M GarufiArgentinaXuxue Feng UNQUALIFIED
Leja H WaycottIndiaStephen Shaw NEW
Maisha I GlickJapanXuxue Feng QUALIFIED
Alejandro A BowleySpainStephen Shaw NEW
Johnson J PaprockiUnited KingdomStephen Shaw NEW
Chavez S MacleadArgentinaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Greenwood P ButtItalyElwin Sharvill RENEWAL
Jennifer Q BologniaFranceBernardo Dominic UNQUALIFIED
Deepesh R DarakjyItalyAmy Elsner NEW
Greenwood T FigeroaSpainAmy Elsner UNQUALIFIED
Claire O ShinkoItalyAnna Fali RENEWAL
Julie I ChuiRussiaAsiya Javayant PROPOSAL
Jennifer P DoeBrazilElwin Sharvill NEW
Chavez C GauchoUnited KingdomElwin Sharvill RENEWAL
Chavez F SaylorsSpainXuxue Feng UNQUALIFIED
Maisha W VocelkaRussiaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David P GillianCanada2024-06-20Chapman, Ross E Esq UNQUALIFIED88Asiya Javayant
1001Kadeem T GarufiBrazil2024-06-18Rangoni Of Florence UNQUALIFIED16Elwin Sharvill
1002Octavia V StensethRussia2024-06-23Feltz Printing Service UNQUALIFIED78Ivan Magalhaes
1003Silvio Y ChuiBrazil2024-06-08Rangoni Of Florence NEGOTIATION98Amy Elsner
1004Francesco T SaylorsGermany2024-06-16Morlong Associates UNQUALIFIED52Stephen Shaw
1005Greenwood F ButtArgentina2024-06-23Chemel, James L Cpa QUALIFIED93Onyama Limba
1006Adams Q MacleadCanada2024-06-02Truhlar And Truhlar Attys UNQUALIFIED18Onyama Limba
1007Jones N NickaAustralia2024-06-23Printing Dimensions QUALIFIED64Anna Fali
1008Arvin R PerinJapan2024-06-24Dorl, James J Esq NEGOTIATION48Bernardo Dominic
1009Tony B FlosiItaly2024-06-13King, Christopher A Esq PROPOSAL41Stephen Shaw
1010Emily O OstroskyItaly2024-06-23Chanay, Jeffrey A Esq QUALIFIED99Stephen Shaw
1011Chavez D DoeUnited Kingdom2024-05-31Dorl, James J Esq UNQUALIFIED65Elwin Sharvill
1012Faith P CaldareraIndia2024-06-04Rousseaux, Michael Esq PROPOSAL6Bernardo Dominic
1013Julie S SchemmerAustralia2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED56Elwin Sharvill
1014Aditya H DarakjyArgentina2024-06-08Feltz Printing Service NEGOTIATION74Ioni Bowcher
1015Greenwood O KuskoRussia2024-06-23King, Christopher A Esq RENEWAL63Ivan Magalhaes
1016Mujtaba Y CampainItaly2024-06-07Morlong Associates RENEWAL75Amy Elsner
1017Munro T WaycottAustralia2024-06-22Chemel, James L Cpa UNQUALIFIED85Ivan Magalhaes
1018Faith O GarufiSpain2024-06-02King, Christopher A Esq QUALIFIED1Bernardo Dominic
1019Tony G MorascaUnited Kingdom2024-06-09Rousseaux, Michael Esq UNQUALIFIED95Ioni Bowcher
1020Murillo E GillianRussia2024-06-21Benton, John B Jr NEW53Onyama Limba
1021Darci Q OldroydSpain2024-06-10Chemel, James L Cpa PROPOSAL23Ivan Magalhaes
1022Salvatore I RutaArgentina2024-06-06Commercial Press RENEWAL46Ivan Magalhaes
1023Aika L NestleUnited Kingdom2024-06-24Printing Dimensions QUALIFIED95Bernardo Dominic
1024Mayumi F MaletJapan2024-06-01Printing Dimensions NEGOTIATION30Elwin Sharvill
1025Octavia N DoeAustralia2024-06-13Chemel, James L Cpa NEW62Onyama Limba
1026Mayumi Q PoquetteUnited Kingdom2024-05-30Benton, John B Jr RENEWAL77Xuxue Feng
1027Julie J BologniaCanada2024-05-29Dorl, James J Esq NEW91Xuxue Feng
1028Silvio Z DarakjyBrazil2024-05-31Feltz Printing Service NEGOTIATION78Stephen Shaw
1029Jefferson Y SaylorsArgentina2024-05-30Printing Dimensions UNQUALIFIED96Stephen Shaw
1030Sinclair B DilliardItaly2024-06-17Benton, John B Jr NEGOTIATION51Anna Fali
1031Leon O AmigonGermany2024-06-14Morlong Associates PROPOSAL71Asiya Javayant
1032Rodrigues B OstroskySpain2024-06-20Truhlar And Truhlar Attys NEGOTIATION36Asiya Javayant
1033Jeanfrancois U InouyeFrance2024-06-07King, Christopher A Esq NEW34Asiya Javayant
1034Maria L GillianRussia2024-06-19King, Christopher A Esq QUALIFIED36Asiya Javayant
1035Jones B ShinkoItaly2024-05-29Rousseaux, Michael Esq PROPOSAL70Stephen Shaw
1036Octavia T SergiRussia2024-06-12Benton, John B Jr RENEWAL35Onyama Limba
1037Francesco V AlbaresArgentina2024-06-16Chemel, James L Cpa QUALIFIED69Onyama Limba
1038Kaitlin I SergiRussia2024-06-12Rangoni Of Florence PROPOSAL94Anna Fali
1039Murillo Y OldroydAustralia2024-06-03Buckley Miller Wright UNQUALIFIED17Amy Elsner
1040Izzy K BologniaIndia2024-05-29Feiner Bros UNQUALIFIED84Bernardo Dominic
1041Leon I SchemmerArgentina2024-06-04Truhlar And Truhlar Attys PROPOSAL63Anna Fali
1042Leja I SlusarskiArgentina2024-06-24Commercial Press UNQUALIFIED54Stephen Shaw
1043Salvatore U CaudyUnited Kingdom2024-06-22Chapman, Ross E Esq UNQUALIFIED91Anna Fali
1044Izzy D MaletBrazil2024-05-28Benton, John B Jr UNQUALIFIED76Bernardo Dominic
1045Tony S BriddickSpain2024-06-14Chapman, Ross E Esq NEW12Asiya Javayant
1046Ashley U MarrierGermany2024-06-12Rangoni Of Florence QUALIFIED17Ioni Bowcher
1047Tony G PerinJapan2024-05-28Printing Dimensions QUALIFIED97Elwin Sharvill
1048Leon D OldroydCanada2024-06-23Feltz Printing Service UNQUALIFIED44Stephen Shaw
1049Clifford Q StockhamSpain2024-06-19Feiner Bros RENEWAL8Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois M MorascaGermanyXuxue Feng NEGOTIATION
Wickens P SaylorsSpainStephen Shaw UNQUALIFIED
Jennifer B GauchoBrazilAsiya Javayant UNQUALIFIED
Julie F FollerArgentinaOnyama Limba NEGOTIATION
Jeanfrancois M WhobreyArgentinaIoni Bowcher NEGOTIATION
Darci C GillianRussiaAmy Elsner NEW
Julie Z CaudyCanadaXuxue Feng QUALIFIED
James W SlusarskiGermanyStephen Shaw NEW
Mujtaba F WieserArgentinaAmy Elsner NEGOTIATION
Smith R VenereRussiaXuxue Feng PROPOSAL
Mayumi O CampainJapanAsiya Javayant PROPOSAL
Aditya Y FollerAustraliaAsiya Javayant NEGOTIATION
Adams V InouyeUnited KingdomAmy Elsner UNQUALIFIED
Nicolas N NestleRussiaAsiya Javayant NEGOTIATION
Mayumi Q FlosiAustraliaXuxue Feng NEGOTIATION
Smith G TollnerFranceStephen Shaw PROPOSAL
Kaitlin W SaylorsIndiaElwin Sharvill UNQUALIFIED
Deepesh E WhobreyUnited KingdomOnyama Limba UNQUALIFIED
Francesco X KuskoJapanAmy Elsner UNQUALIFIED
Salvatore U BowleyItalyOnyama Limba QUALIFIED
Jefferson K VocelkaCanadaXuxue Feng PROPOSAL
Deepesh T VocelkaSpainXuxue Feng PROPOSAL
Chavez L MacleadRussiaStephen Shaw UNQUALIFIED
Munro W RimCanadaStephen Shaw PROPOSAL
Tony A RutaBrazilIoni Bowcher NEGOTIATION
Aruna M SaylorsCanadaElwin Sharvill RENEWAL
Murillo T FollerAustraliaAnna Fali RENEWAL
Ivar H RimUnited KingdomXuxue Feng QUALIFIED
Aditya W CaudyUnited KingdomOnyama Limba RENEWAL
Leon U RoysterIndiaStephen Shaw NEW
Morrow A WaycottSpainAnna Fali UNQUALIFIED
Ivar Q KuskoAustraliaElwin Sharvill QUALIFIED
Murillo H PerinFranceBernardo Dominic RENEWAL
Ashley F InouyeRussiaAsiya Javayant RENEWAL
Adams A BowleyIndiaAnna Fali PROPOSAL
Rodrigues H SlusarskiIndiaIvan Magalhaes RENEWAL
Izzy E FollerArgentinaIvan Magalhaes QUALIFIED
Ashley L ShinkoAustraliaXuxue Feng PROPOSAL
Octavia E DilliardFranceElwin Sharvill QUALIFIED
Darci X ShinkoBrazilStephen Shaw NEGOTIATION
Francesco F RimJapanAsiya Javayant NEGOTIATION
Claire D BologniaCanadaAsiya Javayant NEGOTIATION
Murillo N AmigonBrazilBernardo Dominic NEW
Juan R MacleadItalyIoni Bowcher RENEWAL
Costa J AmigonRussiaXuxue Feng PROPOSAL
Rodrigues W AmigonAustraliaOnyama Limba RENEWAL
Ricardo X WaycottIndiaElwin Sharvill PROPOSAL
Costa Q RoysterBrazilStephen Shaw NEW
Chavez V OstroskyGermanyBernardo Dominic UNQUALIFIED
Cody M GarufiJapanOnyama Limba UNQUALIFIED
Frozen Columns
Name
Jeanfrancois D Oldroyd
Ashley Z Paprocki
Mujtaba P Nestle
Aruna Q Campain
Mujtaba X Rulapaugh
Jefferson Z Briddick
Smith L Caldarera
Misaki F Gaucho
Jennifer V Morasca
Maria Y Wieser
Murillo U Inouye
Chavez R Glick
Emily G Stenseth
Adams G Tollner
Mayumi C Albares
Maisha H Oldroyd
Jefferson R Tollner
Chavez M Paprocki
Leon D Wieser
Maisha A Nicka
Jennifer H Dilliard
Leon P Paprocki
Deepesh V Bowley
Jefferson C Dilliard
Jennifer T Dilliard
Leja H Caudy
Arvin I Gaucho
Mayumi Z Flosi
Misaki L Garufi
Nicolas T Amigon
Clifford I Shinko
Clifford R Malet
Darci Z Maclead
Izzy G Caudy
Wickens I Darakjy
Faith I Campain
Deepesh J Shinko
Stacey F Slusarski
Murillo R Malet
Claire E Malet
Leon D Malet
Adams I Nicka
Munro G Royster
David A Sergi
Jefferson C Shinko
Isabel V Whobrey
Deepesh Z Bowley
Munro M Malet
Claire G Chui
Jones H Darakjy
IdCountryDate
1000Italy2024-06-08
1001India2024-06-19
1002Brazil2024-05-28
1003Russia2024-06-06
1004Australia2024-06-09
1005Argentina2024-06-01
1006Russia2024-06-20
1007Canada2024-06-22
1008Canada2024-05-27
1009France2024-06-09
1010Japan2024-06-19
1011Russia2024-05-29
1012Argentina2024-06-11
1013Italy2024-06-12
1014Russia2024-06-21
1015United Kingdom2024-06-07
1016Argentina2024-05-27
1017Brazil2024-06-07
1018United Kingdom2024-06-22
1019Australia2024-06-06
1020Japan2024-06-18
1021Argentina2024-06-07
1022France2024-06-16
1023Russia2024-06-07
1024Italy2024-06-22
1025France2024-06-25
1026United Kingdom2024-06-03
1027Italy2024-05-29
1028Italy2024-06-15
1029Japan2024-05-27
1030Russia2024-06-17
1031Italy2024-05-29
1032Italy2024-06-25
1033Australia2024-05-29
1034India2024-06-13
1035India2024-06-18
1036Canada2024-06-16
1037Brazil2024-06-19
1038Canada2024-06-09
1039Spain2024-06-21
1040United Kingdom2024-06-11
1041Australia2024-06-15
1042Argentina2024-06-08
1043Italy2024-05-31
1044Canada2024-06-03
1045Russia2024-06-05
1046Canada2024-06-22
1047Russia2024-06-25
1048Argentina2024-06-25
1049Australia2024-05-31

On-Demand Data

NameIdCountryDate
Misaki B Flosi1000India2024-06-10
Ivar L Perin1001India2024-06-07
Alejandro E Campain1002Canada2024-06-18
Ashley R Ferencz1003United Kingdom2024-06-01
Costa U Malet1004India2024-05-27
Munro N Royster1005Italy2024-06-10
Johnson Y Royster1006France2024-05-29
Leon U Bowley1007Brazil2024-05-30
Claire P Ostrosky1008United Kingdom2024-05-30
Kaitlin J Iturbide1009Brazil2024-06-12
Darci W Butt1010Japan2024-05-31
Clifford G Bolognia1011Brazil2024-06-07
Alejandro W Flosi1012Australia2024-05-31
Silvio P Gaucho1013Germany2024-06-16
Cody P Oldroyd1014Germany2024-06-18
Jefferson Y Venere1015United Kingdom2024-06-06
Costa S Gaucho1016Canada2024-06-24
Emily U Ruta1017Argentina2024-06-15
Juan P Ruta1018Germany2024-06-24
Misaki V Shinko1019France2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin L FerenczItalyAsiya Javayant PROPOSAL
Adams X MorascaCanadaStephen Shaw PROPOSAL
Wickens Q SaylorsCanadaIoni Bowcher PROPOSAL
Salvatore S RulapaughBrazilStephen Shaw NEW
Maisha Y MaletAustraliaOnyama Limba NEGOTIATION
Aditya M PaprockiItalyAmy Elsner NEW
Arvin Z BriddickArgentinaAnna Fali RENEWAL
Cody Q GillianFranceAnna Fali NEW
Aditya P MorascaIndiaStephen Shaw RENEWAL
James S NestleIndiaIvan Magalhaes NEW
Ivar N FerenczIndiaStephen Shaw UNQUALIFIED
Wickens N MorascaCanadaStephen Shaw NEGOTIATION
Morrow P DilliardRussiaStephen Shaw UNQUALIFIED
Jennifer Z VocelkaFranceBernardo Dominic PROPOSAL
Ricardo Q GlickRussiaAsiya Javayant RENEWAL
Claire Z CaudyGermanyAsiya Javayant RENEWAL
James Z RulapaughItalyXuxue Feng QUALIFIED
Jeanfrancois S WaycottIndiaOnyama Limba PROPOSAL
Rodrigues P FollerBrazilAnna Fali RENEWAL
Cody M RutaJapanElwin Sharvill NEGOTIATION
Jeanfrancois O RulapaughCanadaIoni Bowcher NEW
Jennifer Z VocelkaAustraliaBernardo Dominic QUALIFIED
Faith S CaudyArgentinaXuxue Feng RENEWAL
Julie K WaycottSpainBernardo Dominic NEW
Salvatore I MaletArgentinaAsiya Javayant UNQUALIFIED
Cody B MorascaFranceStephen Shaw NEGOTIATION
Cody H RulapaughBrazilAsiya Javayant NEGOTIATION
Faith C MaletBrazilIvan Magalhaes UNQUALIFIED
Stacey N GlickCanadaXuxue Feng NEW
Morrow E SergiCanadaIoni Bowcher QUALIFIED
Clifford S WhobreyGermanyElwin Sharvill PROPOSAL
Emily C TollnerFranceBernardo Dominic NEW
Octavia P CaudyUnited KingdomStephen Shaw UNQUALIFIED
Darci X FerenczIndiaStephen Shaw RENEWAL
Misaki Z WaycottArgentinaIvan Magalhaes NEW
Maisha G NickaFranceAmy Elsner RENEWAL
Greenwood A KuskoAustraliaXuxue Feng NEW
James Y MarrierSpainIoni Bowcher NEW
Ivar R NickaItalyAmy Elsner NEW
Greenwood I WhobreyRussiaAsiya Javayant 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>