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
Salvatore Q MarrierBrazilIoni Bowcher QUALIFIED
Juan K KuskoCanadaStephen Shaw UNQUALIFIED
Mayumi C MarrierGermanyIvan Magalhaes PROPOSAL
Francesco O FigeroaGermanyAsiya Javayant PROPOSAL
Ashley S TollnerIndiaIvan Magalhaes PROPOSAL
Johnson Q GillianItalyIoni Bowcher NEW
Francesco Q PaprockiItalyXuxue Feng UNQUALIFIED
Jennifer W PaprockiFranceIvan Magalhaes NEGOTIATION
Sinclair R WieserSpainAsiya Javayant UNQUALIFIED
Ashley C GlickItalyAmy Elsner RENEWAL
Mayumi W FollerFranceIoni Bowcher PROPOSAL
Jeanfrancois T RimArgentinaElwin Sharvill QUALIFIED
Adams B WhobreyItalyIoni Bowcher NEGOTIATION
Ricardo G StensethArgentinaIoni Bowcher NEGOTIATION
Darci E SergiArgentinaStephen Shaw PROPOSAL
Stacey M StensethSpainAmy Elsner NEW
Clifford J NickaFranceStephen Shaw QUALIFIED
Aika A FigeroaIndiaIoni Bowcher NEW
David F DoeRussiaBernardo Dominic NEW
Tony J KuskoItalyIvan Magalhaes UNQUALIFIED
Emily L IturbideAustraliaStephen Shaw NEGOTIATION
Leja Z SlusarskiCanadaBernardo Dominic RENEWAL
Isabel F SaylorsAustraliaIvan Magalhaes NEGOTIATION
Aika T MacleadBrazilBernardo Dominic QUALIFIED
Kaitlin V WhobreyRussiaXuxue Feng PROPOSAL
Izzy B PaprockiItalyIvan Magalhaes QUALIFIED
Julie E TollnerAustraliaXuxue Feng PROPOSAL
Antonio S RulapaughRussiaAnna Fali QUALIFIED
Mayumi S SergiSpainAnna Fali QUALIFIED
Ricardo Q FigeroaBrazilXuxue Feng QUALIFIED
Kaitlin N MarrierAustraliaXuxue Feng NEGOTIATION
Munro S MacleadIndiaElwin Sharvill UNQUALIFIED
Faith P RulapaughFranceOnyama Limba NEW
David H BowleyAustraliaAnna Fali QUALIFIED
Arvin A GarufiItalyOnyama Limba PROPOSAL
Izzy B IturbideCanadaBernardo Dominic QUALIFIED
Claire I AlbaresSpainAmy Elsner NEGOTIATION
Emily F OldroydSpainAsiya Javayant RENEWAL
Aika X WaycottItalyAmy Elsner NEW
Octavia Q PerinUnited KingdomAnna Fali PROPOSAL
Arvin I BologniaJapanIoni Bowcher PROPOSAL
Greenwood I GillianRussiaAnna Fali NEW
Johnson X SchemmerIndiaIvan Magalhaes NEW
James D PoquetteRussiaStephen Shaw NEW
Smith F DilliardCanadaIoni Bowcher QUALIFIED
Cody J RoysterGermanyOnyama Limba NEW
Izzy L MaletItalyOnyama Limba NEW
Ivar K KuskoBrazilBernardo Dominic NEGOTIATION
Claire P OldroydArgentinaOnyama Limba PROPOSAL
Antonio O StensethGermanyAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Johnson U SchemmerSpainStephen Shaw PROPOSAL
Rodrigues O AlbaresIndiaAsiya Javayant QUALIFIED
Francesco J IturbideItalyOnyama Limba PROPOSAL
Silvio I GarufiCanadaXuxue Feng NEGOTIATION
Tony I BriddickCanadaAmy Elsner NEW
Jennifer L GillianUnited KingdomOnyama Limba PROPOSAL
Greenwood M NickaFranceXuxue Feng QUALIFIED
Aruna G CampainBrazilElwin Sharvill QUALIFIED
Wickens R AmigonGermanyAmy Elsner PROPOSAL
Julie P MaletItalyBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues H MaletRussia2026-07-22Rousseaux, Michael Esq QUALIFIED22Amy Elsner
1001Ivar F MaletSpain2026-07-02Buckley Miller Wright QUALIFIED5Xuxue Feng
1002David B PaprockiUnited Kingdom2026-07-17Buckley Miller Wright NEW28Xuxue Feng
1003Smith L VocelkaJapan2026-07-03Feiner Bros PROPOSAL75Anna Fali
1004Chavez Y StockhamBrazil2026-07-22Printing Dimensions PROPOSAL8Elwin Sharvill
1005Jennifer D BriddickGermany2026-07-06Morlong Associates QUALIFIED44Onyama Limba
1006Clifford U CaudyIndia2026-06-24Chanay, Jeffrey A Esq UNQUALIFIED0Stephen Shaw
1007Tony C GlickIndia2026-07-14Morlong Associates PROPOSAL72Xuxue Feng
1008Sinclair Q GillianAustralia2026-07-22Chanay, Jeffrey A Esq PROPOSAL43Asiya Javayant
1009Francesco G PoquetteBrazil2026-06-26Commercial Press NEGOTIATION59Amy Elsner
1010Octavia W AmigonGermany2026-07-22Feiner Bros PROPOSAL48Xuxue Feng
1011Sinclair Y FollerAustralia2026-07-08King, Christopher A Esq RENEWAL15Stephen Shaw
1012Darci X SlusarskiCanada2026-07-19Morlong Associates QUALIFIED27Stephen Shaw
1013Johnson A ShinkoIndia2026-07-03Chemel, James L Cpa PROPOSAL75Amy Elsner
1014Emily Z GillianAustralia2026-07-11Feltz Printing Service PROPOSAL50Onyama Limba
1015Mujtaba O RoysterBrazil2026-06-29King, Christopher A Esq QUALIFIED49Ioni Bowcher
1016David J CaudyRussia2026-06-25Chemel, James L Cpa UNQUALIFIED56Elwin Sharvill
1017Costa Q GlickAustralia2026-06-30Benton, John B Jr QUALIFIED93Ioni Bowcher
1018Wickens E WaycottAustralia2026-07-05Printing Dimensions NEGOTIATION7Stephen Shaw
1019Greenwood S FlosiCanada2026-07-04Chapman, Ross E Esq UNQUALIFIED91Asiya Javayant
1020Aditya O SergiUnited Kingdom2026-07-09Benton, John B Jr NEW26Elwin Sharvill
1021Antonio N StockhamSpain2026-07-02King, Christopher A Esq NEW62Bernardo Dominic
1022David J StensethJapan2026-07-16Morlong Associates NEW32Stephen Shaw
1023Alejandro L MaletArgentina2026-07-13Morlong Associates NEGOTIATION97Anna Fali
1024Jeanfrancois B SaylorsArgentina2026-06-26Feiner Bros PROPOSAL63Ivan Magalhaes
1025Darci V VenereFrance2026-06-29Rangoni Of Florence NEGOTIATION48Stephen Shaw
1026Julie Q ShinkoUnited Kingdom2026-07-05Feiner Bros PROPOSAL74Asiya Javayant
1027Jennifer P MaletIndia2026-07-17Morlong Associates UNQUALIFIED40Bernardo Dominic
1028Murillo C InouyeAustralia2026-07-02King, Christopher A Esq PROPOSAL31Ivan Magalhaes
1029Smith N MacleadCanada2026-07-10Chapman, Ross E Esq PROPOSAL30Ivan Magalhaes
1030Ricardo R WieserJapan2026-07-10Buckley Miller Wright RENEWAL40Xuxue Feng
1031Misaki N MarrierAustralia2026-07-11Truhlar And Truhlar Attys QUALIFIED38Xuxue Feng
1032Adams P SaylorsIndia2026-06-25King, Christopher A Esq QUALIFIED9Bernardo Dominic
1033Murillo F WieserJapan2026-06-29Benton, John B Jr QUALIFIED49Onyama Limba
1034Clifford E GillianCanada2026-07-14Chemel, James L Cpa RENEWAL7Anna Fali
1035Faith G BowleyFrance2026-06-27Chapman, Ross E Esq QUALIFIED15Xuxue Feng
1036Wickens M IturbideIndia2026-07-02Benton, John B Jr RENEWAL83Ivan Magalhaes
1037Juan E AmigonAustralia2026-07-14Morlong Associates QUALIFIED17Stephen Shaw
1038Mujtaba Y NestleUnited Kingdom2026-07-04Truhlar And Truhlar Attys RENEWAL58Stephen Shaw
1039Tony Q StockhamSpain2026-06-24Rangoni Of Florence UNQUALIFIED87Elwin Sharvill
1040Octavia C MacleadArgentina2026-07-16Chapman, Ross E Esq PROPOSAL54Amy Elsner
1041Jones U PaprockiBrazil2026-07-15Dorl, James J Esq NEGOTIATION42Onyama Limba
1042Jennifer L PerinIndia2026-07-22Truhlar And Truhlar Attys PROPOSAL89Stephen Shaw
1043Tony H WaycottUnited Kingdom2026-06-29Truhlar And Truhlar Attys RENEWAL94Asiya Javayant
1044Clifford T PerinSpain2026-06-30Rousseaux, Michael Esq NEW50Ioni Bowcher
1045Francesco C AlbaresIndia2026-07-13Buckley Miller Wright NEGOTIATION47Elwin Sharvill
1046Cody G CaudyUnited Kingdom2026-06-26Dorl, James J Esq QUALIFIED81Elwin Sharvill
1047Johnson G OstroskyAustralia2026-07-23Chemel, James L Cpa UNQUALIFIED57Elwin Sharvill
1048Maisha P SchemmerRussia2026-07-09Buckley Miller Wright UNQUALIFIED19Amy Elsner
1049David P GarufiAustralia2026-07-17Chanay, Jeffrey A Esq PROPOSAL72Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Claire Y GauchoSpainElwin Sharvill PROPOSAL
David S StockhamGermanyAnna Fali QUALIFIED
Murillo Z RulapaughSpainBernardo Dominic UNQUALIFIED
Ivar W NickaJapanBernardo Dominic PROPOSAL
Julie R RimAustraliaElwin Sharvill UNQUALIFIED
Deepesh W PaprockiCanadaAnna Fali RENEWAL
Faith A AlbaresBrazilAmy Elsner UNQUALIFIED
Silvio E MaletItalyElwin Sharvill PROPOSAL
Murillo G VocelkaBrazilElwin Sharvill QUALIFIED
James W BologniaCanadaOnyama Limba UNQUALIFIED
Julie F AmigonJapanIvan Magalhaes NEW
James I OldroydIndiaAmy Elsner PROPOSAL
Julie Z GauchoRussiaIoni Bowcher QUALIFIED
Smith A AmigonItalyOnyama Limba QUALIFIED
Aditya W OldroydArgentinaElwin Sharvill NEGOTIATION
Francesco W SergiFranceOnyama Limba NEGOTIATION
Mayumi O WieserAustraliaAmy Elsner QUALIFIED
Francesco J GillianRussiaOnyama Limba RENEWAL
Aditya G TollnerSpainXuxue Feng NEGOTIATION
Kaitlin B PaprockiCanadaXuxue Feng QUALIFIED
Greenwood W WieserSpainXuxue Feng UNQUALIFIED
Mujtaba X MaletRussiaAsiya Javayant UNQUALIFIED
Jeanfrancois R SaylorsAustraliaBernardo Dominic QUALIFIED
Greenwood D ButtUnited KingdomAmy Elsner RENEWAL
Leon S VocelkaBrazilStephen Shaw NEW
Aruna L SaylorsArgentinaIoni Bowcher PROPOSAL
Ashley D BologniaIndiaBernardo Dominic QUALIFIED
Greenwood I PoquetteJapanAmy Elsner QUALIFIED
Isabel W RimRussiaAmy Elsner PROPOSAL
Antonio L StockhamFranceStephen Shaw NEW
Mujtaba M SlusarskiArgentinaOnyama Limba QUALIFIED
Costa M GarufiUnited KingdomXuxue Feng PROPOSAL
Leon L CaldareraItalyOnyama Limba RENEWAL
Jennifer U PerinUnited KingdomElwin Sharvill UNQUALIFIED
Aditya U GlickFranceAmy Elsner PROPOSAL
Isabel J KuskoAustraliaAnna Fali PROPOSAL
Octavia L OstroskyBrazilElwin Sharvill PROPOSAL
Izzy H PoquetteAustraliaOnyama Limba UNQUALIFIED
Jefferson L GlickRussiaOnyama Limba UNQUALIFIED
Aruna H PoquetteItalyXuxue Feng UNQUALIFIED
Sinclair T GarufiArgentinaIoni Bowcher NEW
Ricardo H RutaItalyIoni Bowcher QUALIFIED
Jefferson Y SergiJapanAsiya Javayant RENEWAL
Costa A SchemmerBrazilElwin Sharvill NEGOTIATION
Morrow Z DoeJapanAnna Fali QUALIFIED
Ricardo P InouyeIndiaBernardo Dominic UNQUALIFIED
Kaitlin I StensethAustraliaElwin Sharvill NEW
Faith O WieserIndiaElwin Sharvill PROPOSAL
Kadeem E IturbideArgentinaXuxue Feng QUALIFIED
Jones O ShinkoItalyStephen Shaw QUALIFIED
Frozen Columns
Name
Ivar W Rim
Deepesh N Dilliard
Faith O Stenseth
Chavez A Campain
Faith V Kusko
Stacey X Slusarski
Kadeem B Foller
Jones M Inouye
Julie K Garufi
Adams Y Paprocki
Antonio N Ostrosky
Adams F Stenseth
Izzy A Dilliard
Ashley E Waycott
Nicolas B Rulapaugh
Faith M Paprocki
Emily Y Vocelka
Leja Y Iturbide
Munro L Marrier
Octavia B Butt
Aruna Q Gaucho
Ivar D Malet
Smith M Rim
Leon Q Chui
Wickens X Morasca
Tony Y Sergi
Munro T Ostrosky
Kadeem B Whobrey
Arvin P Nestle
Ivar F Poquette
Mayumi J Caudy
Jefferson O Bolognia
Aditya M Shinko
Wickens D Maclead
Kaitlin A Venere
Aruna O Malet
Johnson E Darakjy
Stacey H Morasca
Sinclair T Caudy
Smith A Iturbide
Ashley W Malet
Chavez U Tollner
Misaki I Kolmetz
Aditya M Malet
Isabel R Chui
Leja Y Kolmetz
Jones F Inouye
Jefferson S Nestle
Munro J Paprocki
Mayumi M Gillian
IdCountryDate
1000India2026-07-08
1001Australia2026-07-06
1002Australia2026-07-09
1003Italy2026-07-10
1004United Kingdom2026-07-05
1005India2026-07-13
1006Brazil2026-07-01
1007France2026-06-29
1008Australia2026-07-08
1009Germany2026-06-25
1010Canada2026-06-30
1011Spain2026-07-04
1012France2026-07-07
1013Japan2026-07-21
1014Brazil2026-07-15
1015India2026-06-27
1016Spain2026-06-26
1017United Kingdom2026-07-03
1018Japan2026-07-13
1019Germany2026-06-26
1020Russia2026-07-03
1021India2026-07-03
1022Canada2026-06-25
1023United Kingdom2026-06-27
1024Germany2026-07-11
1025Russia2026-07-15
1026India2026-07-02
1027Canada2026-07-06
1028Brazil2026-06-27
1029Italy2026-06-29
1030France2026-07-15
1031Japan2026-07-16
1032France2026-07-04
1033Argentina2026-07-20
1034Argentina2026-06-26
1035Canada2026-07-02
1036Australia2026-07-09
1037Italy2026-07-04
1038Brazil2026-07-16
1039Germany2026-06-30
1040Canada2026-06-26
1041United Kingdom2026-07-19
1042Canada2026-06-27
1043Canada2026-07-11
1044Brazil2026-07-04
1045Brazil2026-07-09
1046Brazil2026-07-14
1047France2026-06-27
1048Canada2026-07-17
1049Brazil2026-07-19

On-Demand Data

NameIdCountryDate
Deepesh H Dilliard1000United Kingdom2026-07-12
Jefferson I Stenseth1001Russia2026-07-06
James X Caudy1002India2026-06-25
Claire S Maclead1003India2026-07-15
Claire Y Doe1004Germany2026-07-19
Ashley I Darakjy1005France2026-07-20
Jones T Tollner1006Canada2026-06-30
Maria H Gillian1007Japan2026-07-21
Francesco X Gaucho1008Australia2026-07-05
Greenwood J Ruta1009Japan2026-07-20
Nicolas E Ostrosky1010France2026-07-01
Costa A Whobrey1011Canada2026-07-05
Leon V Ruta1012France2026-07-09
Chavez C Sergi1013India2026-07-12
Leon Y Gaucho1014Australia2026-07-17
Isabel J Whobrey1015Canada2026-07-07
Morrow O Garufi1016Australia2026-07-17
Claire I Briddick1017France2026-07-14
Jefferson T Caudy1018Australia2026-07-05
Ashley K Gaucho1019United Kingdom2026-07-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson I GauchoIndiaOnyama Limba PROPOSAL
Kaitlin Y GauchoJapanAnna Fali RENEWAL
Murillo C ChuiGermanyAmy Elsner NEGOTIATION
Smith Y OstroskyFranceXuxue Feng PROPOSAL
Morrow C NickaGermanyElwin Sharvill NEGOTIATION
Silvio H RoysterCanadaOnyama Limba RENEWAL
Leja E TollnerItalyXuxue Feng QUALIFIED
Adams V CampainUnited KingdomAnna Fali NEGOTIATION
Sinclair G OstroskyCanadaAnna Fali RENEWAL
Darci W GlickAustraliaIvan Magalhaes NEGOTIATION
David X SergiGermanyBernardo Dominic UNQUALIFIED
Ashley U KolmetzBrazilXuxue Feng UNQUALIFIED
Faith P CampainAustraliaAmy Elsner NEW
Darci H NestleBrazilAmy Elsner NEGOTIATION
Munro V SchemmerAustraliaAnna Fali NEW
Antonio S RulapaughJapanIoni Bowcher RENEWAL
Darci Y BowleyGermanyIvan Magalhaes RENEWAL
Leon D PoquetteArgentinaStephen Shaw NEGOTIATION
Leon M RutaAustraliaOnyama Limba QUALIFIED
Leja O GlickGermanyAnna Fali NEW
Clifford T RoysterItalyIoni Bowcher UNQUALIFIED
Jeanfrancois V TollnerUnited KingdomIoni Bowcher NEGOTIATION
Chavez I MarrierGermanyAmy Elsner RENEWAL
Tony F CaldareraBrazilAnna Fali NEW
Chavez C DarakjyAustraliaIvan Magalhaes NEW
Cody K SaylorsArgentinaOnyama Limba QUALIFIED
Jennifer M WieserAustraliaBernardo Dominic QUALIFIED
Kaitlin S TollnerBrazilAsiya Javayant RENEWAL
Clifford Z OstroskyIndiaIvan Magalhaes NEGOTIATION
Ivar X FigeroaSpainElwin Sharvill UNQUALIFIED
Izzy Q DoeArgentinaIoni Bowcher PROPOSAL
Ricardo Z RimRussiaStephen Shaw PROPOSAL
Leon R FlosiRussiaBernardo Dominic RENEWAL
Munro Z GlickBrazilAnna Fali RENEWAL
Clifford Z AmigonAustraliaIoni Bowcher NEGOTIATION
Emily M RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Greenwood Y VenereAustraliaBernardo Dominic NEGOTIATION
Isabel M ChuiIndiaIvan Magalhaes PROPOSAL
Mayumi F SlusarskiRussiaStephen Shaw PROPOSAL
Greenwood Z KuskoJapanBernardo Dominic 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>