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
Smith K StockhamSpainXuxue Feng UNQUALIFIED
Aika H SlusarskiUnited KingdomIoni Bowcher NEW
Alejandro K ChuiFranceBernardo Dominic QUALIFIED
Stacey H RutaUnited KingdomAsiya Javayant QUALIFIED
Murillo B SchemmerItalyIvan Magalhaes QUALIFIED
Costa C IturbideSpainAnna Fali NEGOTIATION
Sinclair K KuskoGermanyAmy Elsner NEW
Stacey Z PoquetteArgentinaXuxue Feng RENEWAL
Ricardo H MacleadUnited KingdomIoni Bowcher NEGOTIATION
Jones P ShinkoIndiaBernardo Dominic QUALIFIED
Claire A OstroskySpainAsiya Javayant UNQUALIFIED
Leja R WhobreyArgentinaAsiya Javayant QUALIFIED
Nicolas L RulapaughJapanAmy Elsner NEGOTIATION
Salvatore B VocelkaUnited KingdomXuxue Feng NEGOTIATION
Munro W IturbideArgentinaBernardo Dominic QUALIFIED
Adams K ChuiItalyStephen Shaw NEGOTIATION
Sinclair C MaletIndiaAsiya Javayant PROPOSAL
Clifford W PaprockiItalyAnna Fali PROPOSAL
Misaki M SlusarskiIndiaBernardo Dominic NEGOTIATION
Aruna V OstroskyIndiaAnna Fali UNQUALIFIED
Misaki G RutaIndiaXuxue Feng QUALIFIED
Maria Q InouyeAustraliaOnyama Limba PROPOSAL
Kaitlin J ShinkoCanadaIoni Bowcher RENEWAL
Izzy F DarakjyArgentinaAsiya Javayant QUALIFIED
Jefferson W InouyeBrazilStephen Shaw NEGOTIATION
Misaki K StensethAustraliaIvan Magalhaes NEGOTIATION
Leon C VenereFranceAsiya Javayant NEW
Stacey N SaylorsRussiaBernardo Dominic UNQUALIFIED
Claire I InouyeJapanIoni Bowcher UNQUALIFIED
Leon T RulapaughArgentinaAnna Fali UNQUALIFIED
Adams C FlosiArgentinaIoni Bowcher QUALIFIED
Izzy S CaldareraAustraliaOnyama Limba RENEWAL
Nicolas Y GlickBrazilStephen Shaw NEW
Faith M DoeUnited KingdomStephen Shaw RENEWAL
Claire V RoysterJapanBernardo Dominic UNQUALIFIED
Misaki T NestleGermanyAsiya Javayant NEW
Claire R NestleGermanyIvan Magalhaes PROPOSAL
Wickens J ButtRussiaIoni Bowcher NEW
Jennifer Q WieserSpainAmy Elsner UNQUALIFIED
Francesco U DilliardCanadaIvan Magalhaes PROPOSAL
Adams K CaudyCanadaIvan Magalhaes PROPOSAL
Juan Y PoquetteSpainBernardo Dominic PROPOSAL
Johnson V IturbideGermanyXuxue Feng NEGOTIATION
Jefferson Y RulapaughRussiaAsiya Javayant PROPOSAL
Johnson I RutaSpainStephen Shaw NEGOTIATION
Darci I CaudyJapanAmy Elsner NEW
Aika E CaudyFranceStephen Shaw QUALIFIED
Costa G WieserItalyAmy Elsner UNQUALIFIED
Juan P PoquetteFranceIvan Magalhaes QUALIFIED
Munro I BowleyFranceOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James T MacleadArgentinaAmy Elsner RENEWAL
Leon T WieserJapanAnna Fali UNQUALIFIED
Ricardo L OstroskyRussiaElwin Sharvill PROPOSAL
Aika W CaudyBrazilIoni Bowcher UNQUALIFIED
Murillo S DilliardArgentinaElwin Sharvill UNQUALIFIED
Jefferson J RutaUnited KingdomXuxue Feng UNQUALIFIED
Maisha J OstroskyArgentinaIoni Bowcher UNQUALIFIED
Tony Y PoquetteIndiaBernardo Dominic NEW
Nicolas Z VenereFranceElwin Sharvill RENEWAL
Stacey A GlickJapanAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya V BologniaItaly2024-06-09Morlong Associates NEW12Asiya Javayant
1001Tony W FlosiAustralia2024-06-03Morlong Associates QUALIFIED12Anna Fali
1002Emily Z BowleySpain2024-05-29Buckley Miller Wright NEGOTIATION55Xuxue Feng
1003Ricardo X DoeArgentina2024-06-09Buckley Miller Wright UNQUALIFIED20Ivan Magalhaes
1004Alejandro J FerenczUnited Kingdom2024-06-15King, Christopher A Esq RENEWAL99Xuxue Feng
1005Morrow P CaudyCanada2024-06-08Rousseaux, Michael Esq RENEWAL0Onyama Limba
1006Adams T NickaAustralia2024-06-02Rousseaux, Michael Esq QUALIFIED87Stephen Shaw
1007Tony C FigeroaUnited Kingdom2024-06-19Chapman, Ross E Esq RENEWAL55Xuxue Feng
1008Maria V NestleItaly2024-06-17Morlong Associates QUALIFIED61Asiya Javayant
1009Juan E SaylorsItaly2024-05-29Chanay, Jeffrey A Esq PROPOSAL91Stephen Shaw
1010Rodrigues W InouyeItaly2024-06-19Commercial Press UNQUALIFIED43Elwin Sharvill
1011Mujtaba F VenereFrance2024-06-08Chapman, Ross E Esq UNQUALIFIED15Stephen Shaw
1012Jefferson I IturbideSpain2024-06-08Chanay, Jeffrey A Esq NEGOTIATION70Xuxue Feng
1013Aika O PaprockiCanada2024-06-04Chemel, James L Cpa PROPOSAL26Ivan Magalhaes
1014Sinclair S MaletSpain2024-06-17Chapman, Ross E Esq PROPOSAL93Ivan Magalhaes
1015Leon L TollnerArgentina2024-05-30Morlong Associates UNQUALIFIED59Asiya Javayant
1016Aika S SlusarskiRussia2024-05-26Rousseaux, Michael Esq RENEWAL50Xuxue Feng
1017Nicolas Z SaylorsBrazil2024-06-18King, Christopher A Esq PROPOSAL73Anna Fali
1018Aditya J FollerItaly2024-06-02Feltz Printing Service QUALIFIED53Onyama Limba
1019Johnson H SergiArgentina2024-06-11Rangoni Of Florence QUALIFIED56Asiya Javayant
1020Smith S CaudyUnited Kingdom2024-06-13Buckley Miller Wright PROPOSAL35Amy Elsner
1021Costa A BowleyRussia2024-05-26Printing Dimensions RENEWAL45Stephen Shaw
1022David D FlosiJapan2024-06-12Chapman, Ross E Esq QUALIFIED38Xuxue Feng
1023Julie A MaletGermany2024-05-28Truhlar And Truhlar Attys PROPOSAL31Ivan Magalhaes
1024Johnson W SergiRussia2024-06-14Chemel, James L Cpa QUALIFIED60Ioni Bowcher
1025Costa W FigeroaUnited Kingdom2024-05-25Commercial Press NEW85Anna Fali
1026Jefferson Q FollerFrance2024-06-11Printing Dimensions NEW77Bernardo Dominic
1027James M PerinSpain2024-06-15Feiner Bros PROPOSAL87Elwin Sharvill
1028Arvin K FerenczSpain2024-06-06Buckley Miller Wright PROPOSAL5Xuxue Feng
1029David C PoquetteUnited Kingdom2024-05-27Truhlar And Truhlar Attys RENEWAL6Elwin Sharvill
1030Jeanfrancois A FigeroaItaly2024-06-05Chanay, Jeffrey A Esq QUALIFIED70Amy Elsner
1031Wickens I GauchoAustralia2024-06-05Feiner Bros RENEWAL19Ivan Magalhaes
1032Ivar Y KolmetzCanada2024-05-24Buckley Miller Wright QUALIFIED67Elwin Sharvill
1033David Y CampainBrazil2024-06-17Rousseaux, Michael Esq RENEWAL55Xuxue Feng
1034Alejandro G ButtSpain2024-05-30Commercial Press PROPOSAL87Asiya Javayant
1035Jefferson D AmigonArgentina2024-06-08King, Christopher A Esq NEGOTIATION74Ivan Magalhaes
1036James V AlbaresGermany2024-06-11Morlong Associates UNQUALIFIED95Anna Fali
1037Clifford M NickaIndia2024-06-12Commercial Press RENEWAL18Stephen Shaw
1038Octavia Q RimCanada2024-06-22Feiner Bros UNQUALIFIED37Anna Fali
1039Aruna J KolmetzArgentina2024-06-20Printing Dimensions QUALIFIED34Bernardo Dominic
1040Ivar C KolmetzBrazil2024-06-20Feltz Printing Service RENEWAL27Anna Fali
1041Emily Q CaldareraItaly2024-06-19Chemel, James L Cpa UNQUALIFIED91Amy Elsner
1042Izzy Z DarakjyIndia2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED57Bernardo Dominic
1043Claire K FerenczArgentina2024-05-28Chemel, James L Cpa NEW36Elwin Sharvill
1044Kadeem O AmigonGermany2024-06-15Buckley Miller Wright NEGOTIATION63Ivan Magalhaes
1045Adams P WaycottFrance2024-06-10Benton, John B Jr NEGOTIATION94Elwin Sharvill
1046Greenwood Q GlickCanada2024-06-19Rangoni Of Florence NEGOTIATION84Anna Fali
1047Mayumi L DarakjyItaly2024-06-17Rousseaux, Michael Esq PROPOSAL22Onyama Limba
1048Julie B WhobreySpain2024-06-15Chemel, James L Cpa UNQUALIFIED5Asiya Javayant
1049Murillo R VocelkaItaly2024-06-11Chemel, James L Cpa NEGOTIATION50Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba X OldroydCanadaIvan Magalhaes RENEWAL
Nicolas Z MarrierBrazilBernardo Dominic PROPOSAL
Isabel A FigeroaSpainAnna Fali NEW
Ivar P GarufiIndiaAmy Elsner NEGOTIATION
Claire K PaprockiJapanStephen Shaw RENEWAL
Greenwood I RoysterUnited KingdomAnna Fali UNQUALIFIED
Chavez Y MorascaAustraliaIvan Magalhaes RENEWAL
Clifford C MorascaAustraliaIvan Magalhaes NEW
Greenwood U WhobreyCanadaOnyama Limba UNQUALIFIED
Kadeem N IturbideRussiaIoni Bowcher QUALIFIED
Sinclair K GlickCanadaXuxue Feng QUALIFIED
Julie R ChuiArgentinaAmy Elsner RENEWAL
Aditya F KuskoArgentinaAsiya Javayant PROPOSAL
David D PerinUnited KingdomIoni Bowcher NEGOTIATION
Morrow H IturbideIndiaAsiya Javayant QUALIFIED
Clifford V StockhamIndiaAsiya Javayant NEW
Alejandro X SergiAustraliaStephen Shaw RENEWAL
Greenwood O BologniaCanadaStephen Shaw RENEWAL
Ivar L PoquetteArgentinaBernardo Dominic PROPOSAL
Tony Z ShinkoFranceIoni Bowcher QUALIFIED
Claire U FigeroaIndiaIoni Bowcher RENEWAL
Aika A NestleSpainBernardo Dominic PROPOSAL
Smith W GlickGermanyElwin Sharvill NEW
Emily Y SergiBrazilAsiya Javayant UNQUALIFIED
Ivar S SchemmerBrazilIvan Magalhaes UNQUALIFIED
Leon I StensethJapanAmy Elsner QUALIFIED
Leon M RutaIndiaIoni Bowcher NEW
Murillo S DarakjyAustraliaAmy Elsner RENEWAL
Alejandro E GauchoUnited KingdomAmy Elsner UNQUALIFIED
Munro G VocelkaAustraliaAsiya Javayant NEGOTIATION
Salvatore Z GauchoBrazilElwin Sharvill UNQUALIFIED
Wickens M FlosiCanadaElwin Sharvill RENEWAL
Clifford M CaldareraSpainStephen Shaw NEGOTIATION
Wickens G StockhamBrazilAnna Fali NEW
Aditya W RimFranceIoni Bowcher NEW
Mujtaba K AlbaresAustraliaElwin Sharvill NEW
Ivar D RoysterArgentinaBernardo Dominic RENEWAL
Kaitlin D RulapaughFranceAmy Elsner NEGOTIATION
Izzy U AlbaresGermanyElwin Sharvill NEW
Sinclair A TollnerBrazilAsiya Javayant RENEWAL
Aruna U PoquetteArgentinaBernardo Dominic NEGOTIATION
Arvin J RutaArgentinaAsiya Javayant RENEWAL
Aruna U TollnerCanadaOnyama Limba QUALIFIED
Antonio W GauchoAustraliaOnyama Limba RENEWAL
Munro Z ButtItalyAnna Fali QUALIFIED
Kadeem X ButtAustraliaOnyama Limba UNQUALIFIED
Aditya N TollnerAustraliaIvan Magalhaes QUALIFIED
Jefferson F VenereCanadaAsiya Javayant NEGOTIATION
David I NestleAustraliaOnyama Limba RENEWAL
Leon S TollnerCanadaAmy Elsner NEW
Frozen Columns
Name
Maria C Tollner
Chavez D Dilliard
Isabel S Garufi
Silvio N Bolognia
David H Campain
Cody V Sergi
Aika P Paprocki
Cody G Oldroyd
Ricardo N Paprocki
Antonio Y Waycott
Misaki Y Ostrosky
Alejandro O Glick
Aditya P Stenseth
Darci Z Oldroyd
Jeanfrancois R Waycott
Leon V Caudy
Aruna F Stockham
Deepesh N Doe
Jefferson Z Amigon
Darci L Chui
Kadeem F Stockham
Izzy O Whobrey
Clifford A Flosi
Wickens K Amigon
Arvin T Doe
Deepesh L Campain
Jennifer H Kolmetz
Johnson G Bolognia
Octavia C Chui
Francesco O Marrier
Kadeem C Campain
David E Malet
Maisha F Garufi
Darci Z Stenseth
Jefferson A Royster
Salvatore S Ferencz
Clifford F Slusarski
Jeanfrancois R Stockham
Jeanfrancois E Dilliard
Morrow K Morasca
Adams X Figeroa
Juan H Maclead
Arvin N Gaucho
Maisha S Kolmetz
Clifford L Flosi
Antonio P Chui
James A Tollner
Isabel T Malet
Claire L Dilliard
James C Ferencz
IdCountryDate
1000France2024-06-12
1001Argentina2024-06-19
1002Australia2024-06-06
1003Germany2024-05-26
1004Canada2024-06-13
1005India2024-06-16
1006Japan2024-06-04
1007Brazil2024-06-06
1008France2024-06-19
1009Australia2024-06-19
1010Canada2024-06-06
1011United Kingdom2024-06-16
1012Russia2024-06-16
1013Argentina2024-06-09
1014Canada2024-06-21
1015India2024-05-26
1016Australia2024-06-05
1017United Kingdom2024-06-21
1018Russia2024-06-07
1019Canada2024-05-24
1020Japan2024-06-20
1021Russia2024-06-07
1022Canada2024-06-11
1023Brazil2024-06-10
1024Canada2024-06-03
1025Germany2024-06-16
1026Japan2024-05-29
1027Spain2024-05-26
1028France2024-06-22
1029Canada2024-06-22
1030Italy2024-05-26
1031India2024-05-28
1032France2024-05-28
1033Italy2024-06-11
1034France2024-06-16
1035France2024-06-22
1036Argentina2024-06-18
1037United Kingdom2024-05-29
1038Italy2024-05-30
1039Germany2024-05-31
1040Argentina2024-05-27
1041Germany2024-06-02
1042India2024-06-22
1043France2024-06-19
1044Russia2024-05-25
1045Canada2024-06-06
1046Argentina2024-05-28
1047India2024-06-01
1048Japan2024-06-11
1049Germany2024-06-11

On-Demand Data

NameIdCountryDate
Isabel M Foller1000Argentina2024-06-16
Nicolas R Sergi1001Argentina2024-06-11
Jennifer H Whobrey1002Italy2024-06-01
Chavez M Doe1003France2024-05-28
Jeanfrancois G Poquette1004Germany2024-06-22
Sinclair H Paprocki1005Spain2024-06-19
Nicolas H Malet1006United Kingdom2024-06-03
Francesco V Butt1007Canada2024-06-16
Greenwood H Oldroyd1008Canada2024-06-06
David R Stockham1009Spain2024-06-08
Silvio Q Ostrosky1010Canada2024-05-27
Smith N Iturbide1011Canada2024-06-01
Adams T Dilliard1012Germany2024-06-11
Faith V Paprocki1013Japan2024-05-26
Octavia S Gillian1014Canada2024-06-19
Octavia N Rulapaugh1015Russia2024-06-04
Aruna W Waycott1016Canada2024-06-14
Rodrigues R Vocelka1017Argentina2024-06-21
Tony B Morasca1018France2024-06-07
Ricardo M Butt1019Italy2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa P MarrierAustraliaIvan Magalhaes NEGOTIATION
Stacey H PerinAustraliaXuxue Feng NEGOTIATION
Cody I GillianJapanAnna Fali PROPOSAL
Morrow K MaletGermanyStephen Shaw QUALIFIED
Costa C DarakjyCanadaAmy Elsner NEW
Isabel C SaylorsJapanXuxue Feng NEW
Emily Q SlusarskiFranceIoni Bowcher NEGOTIATION
Jones E InouyeIndiaAmy Elsner UNQUALIFIED
Wickens V BologniaGermanyAmy Elsner QUALIFIED
Juan Q TollnerSpainElwin Sharvill QUALIFIED
Silvio Y OldroydArgentinaElwin Sharvill QUALIFIED
Maria W OstroskyUnited KingdomIoni Bowcher QUALIFIED
Emily L DoeRussiaAsiya Javayant UNQUALIFIED
Leon B CaudySpainBernardo Dominic NEGOTIATION
Jennifer H RutaGermanyStephen Shaw RENEWAL
Aika O NestleFranceAmy Elsner NEW
Adams X VenereJapanElwin Sharvill QUALIFIED
Tony U OstroskyIndiaIvan Magalhaes NEGOTIATION
David F GlickItalyStephen Shaw RENEWAL
Darci Y GillianRussiaBernardo Dominic RENEWAL
Tony W StockhamCanadaElwin Sharvill UNQUALIFIED
Aruna S TollnerUnited KingdomBernardo Dominic RENEWAL
Smith G SergiRussiaXuxue Feng PROPOSAL
Greenwood C SaylorsBrazilXuxue Feng NEW
Jefferson F WaycottJapanIoni Bowcher RENEWAL
Deepesh R WhobreyFranceIoni Bowcher UNQUALIFIED
Antonio E KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Munro S WhobreyGermanyOnyama Limba NEGOTIATION
Wickens L WieserAustraliaAmy Elsner RENEWAL
Maisha M OstroskyJapanAsiya Javayant PROPOSAL
Cody F WaycottSpainXuxue Feng PROPOSAL
Jennifer S SchemmerRussiaIoni Bowcher PROPOSAL
Alejandro I GillianAustraliaXuxue Feng UNQUALIFIED
Leja U GarufiBrazilIoni Bowcher RENEWAL
Leja A DoeSpainXuxue Feng UNQUALIFIED
Octavia I StockhamFranceOnyama Limba NEW
Jones D FigeroaRussiaStephen Shaw NEGOTIATION
Rodrigues L DoeUnited KingdomXuxue Feng NEGOTIATION
Adams U ButtArgentinaAsiya Javayant QUALIFIED
Murillo R SchemmerCanadaAsiya Javayant RENEWAL

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