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
Greenwood O FigeroaFranceStephen Shaw RENEWAL
Adams S CampainAustraliaElwin Sharvill NEW
Tony D ShinkoIndiaElwin Sharvill UNQUALIFIED
Johnson Y AmigonIndiaAmy Elsner PROPOSAL
Arvin Y PaprockiJapanIoni Bowcher UNQUALIFIED
Antonio U NickaRussiaAnna Fali QUALIFIED
Aruna R BologniaArgentinaElwin Sharvill RENEWAL
Leja Z InouyeAustraliaBernardo Dominic NEW
Tony U WieserUnited KingdomAmy Elsner NEGOTIATION
Salvatore Q AmigonUnited KingdomIoni Bowcher NEGOTIATION
Ashley Z PerinUnited KingdomIoni Bowcher UNQUALIFIED
Faith I FollerGermanyXuxue Feng UNQUALIFIED
Julie A ButtRussiaAmy Elsner RENEWAL
Chavez V SaylorsItalyStephen Shaw UNQUALIFIED
Costa N PoquetteRussiaElwin Sharvill NEW
Kaitlin V FollerUnited KingdomAmy Elsner QUALIFIED
Mayumi F PerinFranceXuxue Feng NEW
Ricardo S SchemmerGermanyAmy Elsner UNQUALIFIED
Chavez E MaletAustraliaStephen Shaw UNQUALIFIED
Nicolas X FerenczFranceStephen Shaw PROPOSAL
Sinclair V MaletAustraliaBernardo Dominic NEGOTIATION
Sinclair A KuskoSpainAnna Fali UNQUALIFIED
Jefferson Q CaldareraAustraliaAmy Elsner PROPOSAL
Tony D FlosiJapanOnyama Limba PROPOSAL
Morrow K BriddickFranceBernardo Dominic UNQUALIFIED
Izzy N GarufiRussiaOnyama Limba PROPOSAL
Francesco V PoquetteJapanAnna Fali RENEWAL
Misaki R GarufiSpainOnyama Limba NEW
Faith E PerinArgentinaElwin Sharvill UNQUALIFIED
Mujtaba C VenereArgentinaAsiya Javayant QUALIFIED
Aika L IturbideUnited KingdomStephen Shaw QUALIFIED
Morrow F KuskoFranceAmy Elsner PROPOSAL
Ashley X DilliardUnited KingdomStephen Shaw PROPOSAL
Kadeem H ButtSpainOnyama Limba RENEWAL
Ricardo G StockhamCanadaStephen Shaw PROPOSAL
Clifford R DoeJapanStephen Shaw NEW
Claire P PoquetteCanadaXuxue Feng QUALIFIED
Claire T KolmetzRussiaXuxue Feng RENEWAL
Silvio F AlbaresArgentinaAnna Fali NEW
Emily M OstroskyGermanyOnyama Limba RENEWAL
Darci Y KolmetzJapanAnna Fali QUALIFIED
Jefferson K GlickUnited KingdomOnyama Limba NEGOTIATION
Salvatore N WieserAustraliaIvan Magalhaes RENEWAL
David Y PoquetteCanadaElwin Sharvill PROPOSAL
Mujtaba S PoquetteBrazilAnna Fali PROPOSAL
Tony E PoquetteGermanyXuxue Feng PROPOSAL
David P KolmetzIndiaIoni Bowcher NEW
Claire A VenereRussiaXuxue Feng RENEWAL
Silvio D FollerGermanyElwin Sharvill NEGOTIATION
Julie E GlickSpainXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia R OldroydBrazilIvan Magalhaes QUALIFIED
Misaki S RulapaughArgentinaOnyama Limba NEGOTIATION
Emily Q WhobreyItalyXuxue Feng NEGOTIATION
Jennifer X CaldareraJapanAnna Fali RENEWAL
Kaitlin Z IturbideCanadaBernardo Dominic RENEWAL
Claire R WaycottBrazilAmy Elsner QUALIFIED
Leon F AlbaresArgentinaAsiya Javayant QUALIFIED
Aditya E SaylorsAustraliaStephen Shaw NEW
Claire U GillianSpainIvan Magalhaes NEGOTIATION
Wickens D NickaArgentinaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi S InouyeAustralia2024-06-21Buckley Miller Wright NEGOTIATION64Anna Fali
1001Jennifer G RutaGermany2024-06-21Truhlar And Truhlar Attys PROPOSAL27Ioni Bowcher
1002Juan U WieserAustralia2024-06-10Printing Dimensions NEW33Anna Fali
1003Mujtaba R IturbideGermany2024-06-15Dorl, James J Esq RENEWAL39Amy Elsner
1004Silvio T GlickCanada2024-06-06Benton, John B Jr PROPOSAL17Anna Fali
1005David I StockhamBrazil2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED87Elwin Sharvill
1006James Y WhobreyRussia2024-05-29Benton, John B Jr NEW0Asiya Javayant
1007Morrow D InouyeGermany2024-06-08Feltz Printing Service QUALIFIED81Stephen Shaw
1008Wickens B SchemmerIndia2024-06-09Feiner Bros RENEWAL16Bernardo Dominic
1009Leon E VocelkaGermany2024-05-26Printing Dimensions PROPOSAL69Bernardo Dominic
1010Ricardo J MarrierItaly2024-06-14Feltz Printing Service QUALIFIED89Elwin Sharvill
1011Juan S IturbideSpain2024-06-16Feltz Printing Service RENEWAL40Ivan Magalhaes
1012Salvatore K ChuiIndia2024-06-16King, Christopher A Esq NEW91Ioni Bowcher
1013Leon X MaletIndia2024-05-24Rousseaux, Michael Esq RENEWAL28Anna Fali
1014Julie J GarufiRussia2024-05-25Chanay, Jeffrey A Esq RENEWAL89Ioni Bowcher
1015Claire N BologniaItaly2024-06-22Feltz Printing Service NEGOTIATION51Stephen Shaw
1016Costa I MaletUnited Kingdom2024-06-19Morlong Associates NEGOTIATION47Stephen Shaw
1017Izzy I NickaArgentina2024-06-19Chemel, James L Cpa NEW49Anna Fali
1018Ricardo I ButtIndia2024-06-03Commercial Press NEW97Bernardo Dominic
1019Kadeem R VenereAustralia2024-06-13King, Christopher A Esq PROPOSAL34Bernardo Dominic
1020Ashley X SchemmerRussia2024-06-13Dorl, James J Esq PROPOSAL88Ioni Bowcher
1021Costa T StensethRussia2024-05-26Rangoni Of Florence QUALIFIED89Ioni Bowcher
1022Ashley H SaylorsItaly2024-06-14Morlong Associates QUALIFIED65Amy Elsner
1023Deepesh U DilliardFrance2024-06-07Benton, John B Jr NEW82Amy Elsner
1024Juan K RimRussia2024-06-22King, Christopher A Esq RENEWAL16Bernardo Dominic
1025Darci I BriddickIndia2024-06-18Rangoni Of Florence QUALIFIED84Stephen Shaw
1026Deepesh C WieserRussia2024-05-28King, Christopher A Esq RENEWAL98Amy Elsner
1027Murillo L VenereArgentina2024-06-01Rousseaux, Michael Esq NEW82Amy Elsner
1028Munro H VenereBrazil2024-06-17Feiner Bros PROPOSAL47Ivan Magalhaes
1029Antonio K IturbideIndia2024-06-18Benton, John B Jr UNQUALIFIED88Anna Fali
1030Silvio X GlickBrazil2024-06-18Truhlar And Truhlar Attys RENEWAL83Stephen Shaw
1031Juan M KuskoIndia2024-06-13Benton, John B Jr UNQUALIFIED79Anna Fali
1032Deepesh H AlbaresRussia2024-06-20Chemel, James L Cpa UNQUALIFIED67Bernardo Dominic
1033Ricardo N PoquetteIndia2024-06-18Chemel, James L Cpa PROPOSAL35Bernardo Dominic
1034Kaitlin H CampainGermany2024-06-05King, Christopher A Esq NEW29Ioni Bowcher
1035Clifford P PoquetteRussia2024-06-08Printing Dimensions UNQUALIFIED47Anna Fali
1036Octavia U RutaArgentina2024-06-20Feltz Printing Service RENEWAL19Ivan Magalhaes
1037Aruna O DarakjyRussia2024-06-05Truhlar And Truhlar Attys PROPOSAL64Elwin Sharvill
1038Mayumi Y BologniaSpain2024-06-01Commercial Press UNQUALIFIED91Asiya Javayant
1039Ashley Y CaldareraArgentina2024-05-25Feltz Printing Service NEGOTIATION9Stephen Shaw
1040Francesco O SlusarskiJapan2024-06-03Rousseaux, Michael Esq RENEWAL20Xuxue Feng
1041James V RulapaughUnited Kingdom2024-06-14Rangoni Of Florence NEW56Ioni Bowcher
1042Kaitlin V DoeGermany2024-05-26Feltz Printing Service QUALIFIED5Anna Fali
1043Octavia E NickaSpain2024-06-18Feiner Bros UNQUALIFIED66Ivan Magalhaes
1044Johnson F GauchoUnited Kingdom2024-06-04Feltz Printing Service QUALIFIED34Stephen Shaw
1045David M MaletJapan2024-05-25Benton, John B Jr NEGOTIATION92Ivan Magalhaes
1046Leon G DarakjyArgentina2024-06-04Rousseaux, Michael Esq RENEWAL99Xuxue Feng
1047Claire M OldroydArgentina2024-06-22Printing Dimensions PROPOSAL67Xuxue Feng
1048Tony T SaylorsIndia2024-06-18Chanay, Jeffrey A Esq PROPOSAL37Amy Elsner
1049Wickens J KuskoItaly2024-06-02Benton, John B Jr RENEWAL72Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Misaki Y GillianArgentinaAmy Elsner UNQUALIFIED
Francesco J WieserJapanOnyama Limba NEW
Greenwood B RimRussiaStephen Shaw QUALIFIED
Salvatore K RulapaughIndiaAnna Fali QUALIFIED
Kadeem R BologniaAustraliaStephen Shaw NEGOTIATION
Deepesh A RulapaughBrazilAnna Fali PROPOSAL
Leja N ButtSpainAnna Fali NEGOTIATION
Octavia R StensethSpainIvan Magalhaes QUALIFIED
Morrow N StensethUnited KingdomIoni Bowcher UNQUALIFIED
Francesco P NickaItalyElwin Sharvill QUALIFIED
Silvio R StensethAustraliaXuxue Feng NEW
Faith V PaprockiIndiaIvan Magalhaes QUALIFIED
Johnson N VenereItalyAnna Fali NEW
Leja Y RimBrazilOnyama Limba QUALIFIED
Salvatore J MaletJapanIvan Magalhaes NEW
Rodrigues P FlosiRussiaIvan Magalhaes RENEWAL
Wickens S FlosiRussiaAmy Elsner RENEWAL
Clifford M GillianArgentinaAsiya Javayant NEGOTIATION
Stacey V FlosiCanadaAmy Elsner RENEWAL
Alejandro B DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Darci R MaletCanadaIoni Bowcher QUALIFIED
Mujtaba Y BowleyArgentinaStephen Shaw NEGOTIATION
Darci X FlosiGermanyAsiya Javayant NEW
Izzy G WhobreyRussiaIoni Bowcher NEGOTIATION
Juan L OldroydCanadaIoni Bowcher PROPOSAL
Rodrigues J NestleAustraliaBernardo Dominic NEGOTIATION
Clifford J GarufiRussiaAmy Elsner NEGOTIATION
Claire G MaletJapanIvan Magalhaes PROPOSAL
Octavia U FerenczIndiaAmy Elsner RENEWAL
Kaitlin J BowleyAustraliaIvan Magalhaes UNQUALIFIED
Maisha H SchemmerCanadaElwin Sharvill NEGOTIATION
Deepesh F IturbideIndiaIoni Bowcher RENEWAL
Sinclair B IturbideBrazilElwin Sharvill NEW
Maria Y VocelkaItalyElwin Sharvill NEW
Ivar F RulapaughItalyIoni Bowcher PROPOSAL
Morrow D FollerAustraliaIvan Magalhaes QUALIFIED
Claire Y SergiArgentinaXuxue Feng NEW
Sinclair J SaylorsCanadaOnyama Limba NEGOTIATION
Ivar M StockhamRussiaAnna Fali QUALIFIED
Maria I ButtCanadaOnyama Limba QUALIFIED
Smith B VenereUnited KingdomElwin Sharvill QUALIFIED
Maria M BriddickCanadaXuxue Feng UNQUALIFIED
Clifford N GillianIndiaAsiya Javayant UNQUALIFIED
Aditya B AmigonGermanyBernardo Dominic RENEWAL
Leja I PoquetteAustraliaAnna Fali UNQUALIFIED
Maria W RulapaughFranceStephen Shaw QUALIFIED
Juan T CampainFranceIvan Magalhaes NEGOTIATION
Adams X WieserBrazilAnna Fali NEGOTIATION
Johnson M WaycottArgentinaOnyama Limba NEGOTIATION
Jefferson R MacleadBrazilAnna Fali PROPOSAL
Frozen Columns
Name
Faith V Sergi
Leja R Kusko
Costa V Bowley
Munro I Poquette
Kaitlin R Dilliard
Leja J Glick
Octavia U Ferencz
Johnson N Sergi
Aika P Shinko
Octavia Q Dilliard
Aika D Garufi
Antonio O Tollner
Francesco K Morasca
Juan O Chui
Nicolas W Campain
Aika H Amigon
Izzy Q Bowley
Ricardo J Caudy
Wickens H Stenseth
Johnson R Bolognia
Tony H Glick
Alejandro S Marrier
Jones U Briddick
Ricardo G Venere
Aika W Bowley
Morrow S Royster
James Z Whobrey
Arvin Y Figeroa
Nicolas E Kolmetz
Aruna W Perin
Aditya O Waycott
Mujtaba W Iturbide
Julie V Iturbide
Mayumi B Tollner
Misaki J Gaucho
Maria M Campain
Maisha Z Campain
Kadeem H Maclead
Greenwood G Ferencz
Silvio A Iturbide
Chavez U Kolmetz
Morrow Z Nicka
Cody M Amigon
Mujtaba R Figeroa
Izzy H Tollner
Wickens C Tollner
James Y Chui
James L Royster
Tony Q Sergi
Silvio U Foller
IdCountryDate
1000India2024-06-02
1001Australia2024-06-01
1002Brazil2024-06-01
1003Russia2024-06-01
1004Russia2024-06-20
1005Russia2024-06-09
1006Australia2024-06-20
1007France2024-06-11
1008Japan2024-06-09
1009Russia2024-06-11
1010Italy2024-06-20
1011Canada2024-06-11
1012Spain2024-05-26
1013Japan2024-05-27
1014Germany2024-06-04
1015Russia2024-06-21
1016Australia2024-06-07
1017Australia2024-05-27
1018India2024-06-03
1019India2024-05-24
1020Brazil2024-06-05
1021Japan2024-05-29
1022Spain2024-05-29
1023Australia2024-06-14
1024Germany2024-06-12
1025France2024-06-18
1026Russia2024-06-10
1027Brazil2024-06-01
1028Brazil2024-06-17
1029Germany2024-05-27
1030Canada2024-05-24
1031Brazil2024-06-05
1032Brazil2024-06-14
1033Germany2024-06-09
1034Argentina2024-06-20
1035Australia2024-06-15
1036Italy2024-05-25
1037Germany2024-05-25
1038Argentina2024-06-17
1039France2024-06-12
1040Italy2024-06-03
1041United Kingdom2024-06-01
1042Brazil2024-06-01
1043Spain2024-06-05
1044India2024-06-03
1045Japan2024-05-27
1046Australia2024-06-16
1047Russia2024-06-03
1048France2024-06-12
1049Brazil2024-06-11

On-Demand Data

NameIdCountryDate
Julie B Foller1000Australia2024-06-08
Darci A Whobrey1001Spain2024-06-11
James A Tollner1002United Kingdom2024-06-15
Ivar A Dilliard1003Australia2024-05-30
Maisha P Bowley1004India2024-06-11
Morrow S Flosi1005Australia2024-06-11
Costa B Paprocki1006Italy2024-06-11
Misaki G Venere1007Spain2024-06-16
Juan Q Bowley1008India2024-06-01
Arvin M Slusarski1009Italy2024-06-05
Aruna H Darakjy1010Spain2024-06-16
Kadeem G Rim1011Italy2024-05-31
Kadeem U Amigon1012India2024-05-28
Leja C Gaucho1013Australia2024-05-25
Arvin A Stenseth1014Spain2024-05-28
Octavia H Gaucho1015Brazil2024-06-10
Arvin X Wieser1016Brazil2024-05-25
Rodrigues A Glick1017Spain2024-06-05
Izzy S Caldarera1018Italy2024-05-31
Faith O Marrier1019Japan2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin O MaletCanadaAnna Fali UNQUALIFIED
Jones Y WieserCanadaOnyama Limba QUALIFIED
Chavez Q StensethCanadaAmy Elsner NEGOTIATION
Salvatore Q KolmetzFranceAmy Elsner QUALIFIED
Clifford N SergiGermanyElwin Sharvill NEW
Faith A InouyeSpainOnyama Limba PROPOSAL
Rodrigues T OldroydUnited KingdomElwin Sharvill PROPOSAL
Juan P VocelkaIndiaAsiya Javayant RENEWAL
Mujtaba C KolmetzCanadaAmy Elsner QUALIFIED
Mayumi K RulapaughFranceOnyama Limba QUALIFIED
Leja V StensethItalyAsiya Javayant NEW
Antonio I MacleadItalyAsiya Javayant PROPOSAL
Aika L DilliardAustraliaIvan Magalhaes QUALIFIED
Juan Q SergiBrazilStephen Shaw QUALIFIED
Octavia G GlickUnited KingdomXuxue Feng NEW
Aditya B StensethAustraliaElwin Sharvill QUALIFIED
James E PoquetteSpainAnna Fali NEGOTIATION
Morrow W WhobreyArgentinaIvan Magalhaes NEGOTIATION
Chavez G ShinkoJapanAsiya Javayant RENEWAL
Octavia J BriddickUnited KingdomStephen Shaw QUALIFIED
Faith P SergiArgentinaBernardo Dominic PROPOSAL
Isabel U FlosiCanadaAnna Fali RENEWAL
Leja S GarufiArgentinaXuxue Feng RENEWAL
Jennifer L InouyeAustraliaElwin Sharvill NEW
Isabel T PoquetteAustraliaIoni Bowcher UNQUALIFIED
Leja M AlbaresJapanAnna Fali UNQUALIFIED
Mujtaba B AlbaresIndiaBernardo Dominic NEGOTIATION
Chavez L SchemmerArgentinaStephen Shaw UNQUALIFIED
Kadeem G SaylorsAustraliaIvan Magalhaes UNQUALIFIED
Jefferson G CampainRussiaAnna Fali PROPOSAL
Tony L GlickUnited KingdomAnna Fali NEGOTIATION
Mayumi B SchemmerSpainXuxue Feng RENEWAL
Faith J OstroskyAustraliaAsiya Javayant NEGOTIATION
Misaki V SchemmerItalyIoni Bowcher RENEWAL
Francesco C VocelkaGermanyXuxue Feng NEW
Alejandro H MaletGermanyAmy Elsner QUALIFIED
Misaki V BologniaSpainAnna Fali UNQUALIFIED
Leon U RulapaughAustraliaIvan Magalhaes PROPOSAL
Kadeem Z AlbaresFranceAmy Elsner QUALIFIED
Adams U CaldareraArgentinaStephen Shaw 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>