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
Octavia V ChuiItalyIvan Magalhaes RENEWAL
Ivar Q RutaJapanStephen Shaw NEGOTIATION
Tony L IturbideGermanyElwin Sharvill PROPOSAL
Nicolas H FlosiArgentinaBernardo Dominic NEGOTIATION
Clifford X ButtGermanyXuxue Feng NEGOTIATION
Chavez H FerenczUnited KingdomIoni Bowcher QUALIFIED
Maria C CaldareraSpainAsiya Javayant QUALIFIED
Deepesh O MarrierUnited KingdomOnyama Limba RENEWAL
James K RutaUnited KingdomElwin Sharvill NEW
Adams C BriddickBrazilOnyama Limba NEGOTIATION
Tony H ShinkoCanadaIvan Magalhaes NEGOTIATION
Munro B VenereSpainIoni Bowcher NEGOTIATION
Wickens R DilliardIndiaElwin Sharvill NEGOTIATION
Kaitlin U CampainItalyStephen Shaw UNQUALIFIED
Maria M WieserCanadaAsiya Javayant UNQUALIFIED
Morrow U NickaItalyBernardo Dominic UNQUALIFIED
Wickens O FlosiRussiaAmy Elsner NEGOTIATION
Alejandro P BriddickArgentinaXuxue Feng UNQUALIFIED
Chavez X FlosiUnited KingdomXuxue Feng QUALIFIED
David D MaletUnited KingdomStephen Shaw PROPOSAL
Ashley G ShinkoRussiaAsiya Javayant PROPOSAL
Antonio Z FollerItalyAnna Fali NEGOTIATION
Wickens S MaletCanadaIvan Magalhaes UNQUALIFIED
Leja N ChuiBrazilStephen Shaw RENEWAL
Murillo J MacleadBrazilXuxue Feng PROPOSAL
Maria I RulapaughJapanStephen Shaw NEW
Silvio P FlosiUnited KingdomIvan Magalhaes QUALIFIED
Jones X CaudyItalyIoni Bowcher NEW
Clifford A DarakjyAustraliaBernardo Dominic RENEWAL
Morrow K FollerUnited KingdomAsiya Javayant NEGOTIATION
Smith C GillianGermanyAmy Elsner PROPOSAL
Ricardo R OstroskyUnited KingdomAmy Elsner RENEWAL
Jeanfrancois B PoquetteGermanyAnna Fali RENEWAL
Maria J RimSpainElwin Sharvill NEGOTIATION
Octavia E GarufiRussiaIvan Magalhaes PROPOSAL
Emily B VenereCanadaAmy Elsner NEGOTIATION
Clifford T ShinkoAustraliaXuxue Feng UNQUALIFIED
Ashley B PerinItalyIvan Magalhaes NEW
Misaki Z CaldareraAustraliaAmy Elsner PROPOSAL
Emily R CaudyGermanyElwin Sharvill QUALIFIED
Chavez W MaletUnited KingdomElwin Sharvill NEW
Costa V PaprockiRussiaOnyama Limba PROPOSAL
Alejandro L TollnerCanadaAsiya Javayant NEGOTIATION
Ivar C InouyeFranceStephen Shaw RENEWAL
Aditya W DoeJapanStephen Shaw PROPOSAL
Aika E WhobreyIndiaAnna Fali UNQUALIFIED
Adams Q FollerArgentinaStephen Shaw RENEWAL
Mayumi K PoquetteSpainStephen Shaw NEW
Kadeem A SergiAustraliaIvan Magalhaes QUALIFIED
Clifford C WieserItalyBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ricardo I PaprockiSpainXuxue Feng QUALIFIED
Wickens V PaprockiSpainElwin Sharvill QUALIFIED
Greenwood W FollerJapanBernardo Dominic NEGOTIATION
Mujtaba U FlosiCanadaAmy Elsner QUALIFIED
Leon I KolmetzRussiaXuxue Feng NEGOTIATION
Arvin W MaletItalyElwin Sharvill QUALIFIED
Juan M BowleyUnited KingdomIvan Magalhaes NEW
Morrow K DarakjyBrazilXuxue Feng NEW
Cody D KuskoRussiaIoni Bowcher UNQUALIFIED
Izzy U KolmetzRussiaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba X KolmetzBrazil2024-05-20Morlong Associates NEGOTIATION66Ivan Magalhaes
1001Costa B RimFrance2024-05-03Morlong Associates UNQUALIFIED62Anna Fali
1002Faith C CaldareraArgentina2024-05-26Dorl, James J Esq RENEWAL42Stephen Shaw
1003Greenwood L FigeroaRussia2024-05-04Benton, John B Jr UNQUALIFIED32Xuxue Feng
1004Aditya V DilliardBrazil2024-05-20Rousseaux, Michael Esq UNQUALIFIED96Onyama Limba
1005James A DarakjyAustralia2024-05-26Feiner Bros NEW51Asiya Javayant
1006Ricardo M BriddickSpain2024-05-03Benton, John B Jr PROPOSAL60Anna Fali
1007Smith R IturbideGermany2024-05-09Chapman, Ross E Esq QUALIFIED10Elwin Sharvill
1008Silvio X SaylorsBrazil2024-05-14Feiner Bros NEW47Asiya Javayant
1009Wickens D MorascaRussia2024-05-22Rangoni Of Florence NEGOTIATION61Stephen Shaw
1010Faith C KuskoFrance2024-05-09Commercial Press UNQUALIFIED57Stephen Shaw
1011Jeanfrancois L RutaBrazil2024-04-28King, Christopher A Esq PROPOSAL41Amy Elsner
1012Leon U WieserRussia2024-05-20Truhlar And Truhlar Attys PROPOSAL25Onyama Limba
1013Jefferson O VenereRussia2024-04-27Feltz Printing Service QUALIFIED20Ivan Magalhaes
1014Ivar V WhobreyUnited Kingdom2024-05-10Chanay, Jeffrey A Esq NEGOTIATION76Anna Fali
1015Johnson G TollnerSpain2024-05-15Benton, John B Jr PROPOSAL11Ioni Bowcher
1016Mayumi F BowleyGermany2024-05-26Morlong Associates UNQUALIFIED96Ivan Magalhaes
1017Emily I StockhamGermany2024-05-26Chanay, Jeffrey A Esq RENEWAL73Elwin Sharvill
1018Juan V OldroydRussia2024-05-03Chapman, Ross E Esq NEGOTIATION32Elwin Sharvill
1019Aika S SaylorsBrazil2024-05-11Truhlar And Truhlar Attys RENEWAL15Anna Fali
1020Faith Y KuskoGermany2024-05-21Chanay, Jeffrey A Esq RENEWAL39Anna Fali
1021Leon A OldroydItaly2024-04-30Printing Dimensions QUALIFIED9Asiya Javayant
1022Aika I RoysterGermany2024-05-20Benton, John B Jr RENEWAL7Ioni Bowcher
1023Kaitlin V MaletRussia2024-05-26Feltz Printing Service QUALIFIED65Xuxue Feng
1024Stacey I IturbideSpain2024-05-09Feltz Printing Service RENEWAL32Asiya Javayant
1025Jones A OldroydCanada2024-05-13King, Christopher A Esq NEGOTIATION77Asiya Javayant
1026Maria S PerinIndia2024-05-16Chanay, Jeffrey A Esq PROPOSAL92Anna Fali
1027Isabel C PoquetteGermany2024-04-30Buckley Miller Wright NEGOTIATION71Xuxue Feng
1028Francesco Z GauchoBrazil2024-05-18Dorl, James J Esq NEGOTIATION23Anna Fali
1029Murillo N WaycottCanada2024-05-04Commercial Press UNQUALIFIED97Elwin Sharvill
1030Salvatore X PaprockiArgentina2024-05-04Buckley Miller Wright NEW33Xuxue Feng
1031Ricardo N WhobreyFrance2024-05-11Printing Dimensions RENEWAL76Elwin Sharvill
1032Ashley C NestleAustralia2024-05-26Truhlar And Truhlar Attys UNQUALIFIED4Stephen Shaw
1033Jefferson B IturbideSpain2024-05-11Rousseaux, Michael Esq UNQUALIFIED90Xuxue Feng
1034Cody O BologniaJapan2024-04-27Dorl, James J Esq NEW81Ioni Bowcher
1035Leja Z NestleBrazil2024-04-29Buckley Miller Wright PROPOSAL72Ivan Magalhaes
1036Johnson I OstroskyRussia2024-05-24Chapman, Ross E Esq PROPOSAL13Anna Fali
1037Greenwood R StensethCanada2024-05-21Chemel, James L Cpa QUALIFIED13Anna Fali
1038Ivar H VocelkaCanada2024-05-20Dorl, James J Esq QUALIFIED42Xuxue Feng
1039Sinclair C GarufiItaly2024-05-23Commercial Press NEGOTIATION29Ioni Bowcher
1040Maria G GlickJapan2024-05-07Rangoni Of Florence RENEWAL9Onyama Limba
1041Jefferson E AlbaresGermany2024-04-29Chanay, Jeffrey A Esq NEW11Elwin Sharvill
1042Jennifer O MarrierBrazil2024-05-01Buckley Miller Wright PROPOSAL89Ivan Magalhaes
1043James X StensethBrazil2024-05-14Chapman, Ross E Esq RENEWAL90Ivan Magalhaes
1044Clifford P SlusarskiItaly2024-05-02Truhlar And Truhlar Attys NEGOTIATION25Stephen Shaw
1045Emily S GlickFrance2024-05-02Buckley Miller Wright UNQUALIFIED73Bernardo Dominic
1046Greenwood V MacleadRussia2024-04-27Rousseaux, Michael Esq NEW23Onyama Limba
1047Munro A RimCanada2024-05-18Benton, John B Jr QUALIFIED38Ioni Bowcher
1048James P FollerIndia2024-05-03Chemel, James L Cpa UNQUALIFIED16Bernardo Dominic
1049Francesco U OstroskyIndia2024-04-27Commercial Press UNQUALIFIED91Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Julie J CaudyJapanAsiya Javayant NEGOTIATION
Johnson C ShinkoBrazilAnna Fali PROPOSAL
Johnson N WhobreyRussiaAnna Fali NEGOTIATION
Jefferson P WieserArgentinaAsiya Javayant RENEWAL
Darci C KuskoItalyAnna Fali PROPOSAL
Aika Z KolmetzBrazilXuxue Feng QUALIFIED
Deepesh B SlusarskiGermanyBernardo Dominic UNQUALIFIED
Aruna H AlbaresGermanyAsiya Javayant NEGOTIATION
Izzy E SchemmerBrazilAsiya Javayant QUALIFIED
Smith U BriddickRussiaAnna Fali NEW
Jeanfrancois T MacleadAustraliaStephen Shaw QUALIFIED
Arvin C ChuiItalyIvan Magalhaes NEW
Adams F BowleyJapanOnyama Limba RENEWAL
Jefferson A KuskoGermanyAmy Elsner QUALIFIED
Darci T TollnerRussiaElwin Sharvill PROPOSAL
Kaitlin U CaudyAustraliaAnna Fali NEW
Smith T DilliardGermanyAnna Fali RENEWAL
Aditya Y RimIndiaAmy Elsner PROPOSAL
Cody N WhobreyRussiaStephen Shaw PROPOSAL
Faith E OstroskyJapanIvan Magalhaes NEGOTIATION
Octavia G CaudyCanadaAnna Fali NEW
Arvin G FollerArgentinaIoni Bowcher UNQUALIFIED
Kaitlin M KolmetzIndiaIvan Magalhaes PROPOSAL
Arvin C RimIndiaAmy Elsner NEW
Francesco I MacleadGermanyIoni Bowcher QUALIFIED
Aruna M VocelkaFranceAsiya Javayant NEW
Izzy R GarufiIndiaIvan Magalhaes RENEWAL
Stacey G CaldareraBrazilIvan Magalhaes PROPOSAL
Emily G BologniaBrazilStephen Shaw RENEWAL
Leja D NestleFranceAmy Elsner RENEWAL
Juan H RulapaughItalyXuxue Feng QUALIFIED
Wickens Z SchemmerArgentinaXuxue Feng NEGOTIATION
Juan E MacleadAustraliaAnna Fali RENEWAL
Wickens A RutaAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois L StockhamBrazilElwin Sharvill QUALIFIED
Salvatore N IturbideUnited KingdomElwin Sharvill QUALIFIED
Alejandro K FigeroaItalyIoni Bowcher NEW
Stacey C NickaFranceXuxue Feng RENEWAL
Silvio A FerenczSpainAnna Fali NEW
Antonio R GillianSpainBernardo Dominic NEGOTIATION
Aditya F FerenczCanadaXuxue Feng NEGOTIATION
Aika D OstroskySpainIvan Magalhaes NEW
Murillo I MaletAustraliaAsiya Javayant UNQUALIFIED
Octavia W WaycottAustraliaElwin Sharvill UNQUALIFIED
Stacey G MaletCanadaStephen Shaw PROPOSAL
Kadeem O DarakjyJapanBernardo Dominic QUALIFIED
Arvin T OldroydItalyAnna Fali PROPOSAL
Nicolas E PaprockiUnited KingdomStephen Shaw RENEWAL
Deepesh H CampainBrazilAsiya Javayant UNQUALIFIED
Stacey D CaudyItalyOnyama Limba RENEWAL
Frozen Columns
Name
Jones Y Venere
Costa T Venere
Nicolas U Oldroyd
Salvatore V Schemmer
Morrow M Stenseth
Adams X Perin
Aika D Shinko
Alejandro N Caldarera
Arvin I Tollner
Murillo I Inouye
Mujtaba O Malet
Francesco F Flosi
David P Malet
Johnson M Kolmetz
Jefferson N Shinko
Rodrigues U Gillian
David W Figeroa
James B Garufi
Costa P Foller
Rodrigues A Ferencz
Ivar M Waycott
Jefferson Z Kusko
Isabel E Malet
Murillo V Figeroa
Ivar U Whobrey
Julie Q Bowley
Aditya G Sergi
Aruna G Perin
Stacey K Campain
Mujtaba Q Inouye
Morrow D Perin
Smith W Waycott
Wickens J Kusko
Stacey E Rim
Costa N Caudy
Arvin C Caldarera
Isabel W Bowley
Adams Q Iturbide
Ricardo M Slusarski
Wickens H Gaucho
Izzy E Stockham
Mujtaba Y Paprocki
Misaki I Rulapaugh
Isabel J Perin
Aika N Marrier
Aditya P Figeroa
Cody M Waycott
Maria I Iturbide
Tony P Bowley
Alejandro F Nestle
IdCountryDate
1000Germany2024-04-29
1001Canada2024-05-26
1002Russia2024-05-12
1003Japan2024-05-14
1004Argentina2024-05-04
1005Italy2024-05-17
1006France2024-04-27
1007Japan2024-05-14
1008United Kingdom2024-05-05
1009France2024-05-08
1010Germany2024-05-20
1011Australia2024-05-01
1012Russia2024-05-02
1013Australia2024-04-30
1014Brazil2024-04-30
1015India2024-05-15
1016Italy2024-05-12
1017France2024-05-11
1018Germany2024-05-05
1019Russia2024-05-21
1020Germany2024-04-27
1021Argentina2024-05-23
1022Italy2024-05-16
1023Germany2024-05-13
1024France2024-05-15
1025Italy2024-05-24
1026Argentina2024-04-30
1027Japan2024-05-21
1028Spain2024-05-01
1029Russia2024-05-10
1030Italy2024-05-02
1031Canada2024-05-16
1032Australia2024-05-25
1033Russia2024-05-13
1034India2024-05-06
1035Italy2024-05-18
1036Australia2024-05-13
1037India2024-05-19
1038Japan2024-04-30
1039United Kingdom2024-05-22
1040Brazil2024-05-18
1041Germany2024-05-09
1042Italy2024-05-01
1043France2024-05-09
1044Japan2024-05-03
1045United Kingdom2024-05-10
1046Germany2024-05-16
1047Spain2024-05-07
1048Russia2024-04-28
1049Australia2024-05-06

On-Demand Data

NameIdCountryDate
Misaki V Paprocki1000Brazil2024-05-04
Darci J Garufi1001Argentina2024-05-09
Cody K Caldarera1002India2024-05-08
Morrow C Kolmetz1003Italy2024-05-07
Kadeem Y Ruta1004Russia2024-05-24
Chavez Z Ostrosky1005Russia2024-05-06
Clifford Q Briddick1006Australia2024-05-23
Johnson M Figeroa1007Australia2024-05-12
Johnson T Sergi1008Argentina2024-05-08
Isabel P Doe1009Canada2024-04-29
Clifford I Kolmetz1010France2024-04-30
Julie V Nicka1011Germany2024-05-20
Maisha W Garufi1012Japan2024-04-28
Isabel Y Ostrosky1013Germany2024-05-14
Francesco C Stenseth1014Australia2024-04-28
Francesco M Rim1015Italy2024-05-20
James K Inouye1016Spain2024-05-24
Maisha L Ruta1017France2024-05-09
Aruna W Schemmer1018Canada2024-05-05
Costa T Campain1019United Kingdom2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia H FollerAustraliaStephen Shaw QUALIFIED
Greenwood B MaletAustraliaIvan Magalhaes RENEWAL
Salvatore T ButtRussiaStephen Shaw NEW
Adams J FlosiGermanyAsiya Javayant NEW
Ashley X IturbideGermanyXuxue Feng PROPOSAL
Misaki B VenereSpainXuxue Feng QUALIFIED
Emily D ButtFranceStephen Shaw UNQUALIFIED
Aditya Z GarufiCanadaXuxue Feng NEW
Darci G OldroydGermanyElwin Sharvill UNQUALIFIED
James U InouyeBrazilIoni Bowcher PROPOSAL
Costa Q WieserIndiaAsiya Javayant PROPOSAL
Greenwood R CaldareraBrazilAmy Elsner RENEWAL
Tony F MorascaIndiaXuxue Feng NEGOTIATION
Antonio H BowleyCanadaXuxue Feng QUALIFIED
Rodrigues N PoquetteSpainIoni Bowcher QUALIFIED
Aditya V CaudyCanadaAsiya Javayant PROPOSAL
Izzy K PerinIndiaOnyama Limba QUALIFIED
Alejandro P OstroskyRussiaBernardo Dominic UNQUALIFIED
Leon C FollerArgentinaIoni Bowcher RENEWAL
Ashley A RimItalyAmy Elsner QUALIFIED
Costa D SlusarskiJapanElwin Sharvill UNQUALIFIED
Emily Z IturbideItalyAmy Elsner PROPOSAL
Johnson L RulapaughIndiaIvan Magalhaes NEGOTIATION
Clifford Y PaprockiSpainIoni Bowcher PROPOSAL
Silvio C GauchoBrazilOnyama Limba QUALIFIED
Clifford Y CaldareraRussiaXuxue Feng QUALIFIED
Chavez P DoeArgentinaAsiya Javayant QUALIFIED
Morrow Z MorascaArgentinaStephen Shaw NEW
Greenwood B InouyeCanadaXuxue Feng PROPOSAL
Kaitlin E FlosiUnited KingdomAmy Elsner UNQUALIFIED
Arvin I MaletAustraliaAmy Elsner NEW
Jeanfrancois H MarrierIndiaAsiya Javayant NEGOTIATION
Jennifer C ShinkoArgentinaBernardo Dominic QUALIFIED
Claire I CaldareraGermanyAmy Elsner RENEWAL
Clifford N WhobreyIndiaAnna Fali QUALIFIED
James E RutaItalyXuxue Feng NEW
Francesco E WieserUnited KingdomIoni Bowcher PROPOSAL
Emily U PaprockiFranceElwin Sharvill NEW
Maria Y RimIndiaIvan Magalhaes QUALIFIED
Mayumi R FlosiRussiaAsiya 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>