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 E MaletCanadaStephen Shaw PROPOSAL
Misaki F RutaIndiaOnyama Limba NEGOTIATION
Jefferson F SchemmerGermanyAnna Fali PROPOSAL
Misaki U AmigonUnited KingdomIvan Magalhaes PROPOSAL
Aditya K TollnerSpainIvan Magalhaes QUALIFIED
Sinclair S FollerUnited KingdomStephen Shaw RENEWAL
Emily C BowleyGermanyAmy Elsner QUALIFIED
Maria N IturbideIndiaElwin Sharvill NEGOTIATION
Isabel B NestleIndiaXuxue Feng NEW
Darci A SergiSpainIoni Bowcher NEW
Sinclair E ShinkoSpainXuxue Feng UNQUALIFIED
Aika D FlosiJapanStephen Shaw QUALIFIED
Ivar Z GlickAustraliaXuxue Feng PROPOSAL
Silvio N VocelkaSpainIvan Magalhaes NEW
Clifford S DilliardSpainAmy Elsner NEW
Clifford Q AmigonCanadaOnyama Limba UNQUALIFIED
Silvio K MarrierAustraliaBernardo Dominic PROPOSAL
Misaki B IturbideFranceXuxue Feng QUALIFIED
Jeanfrancois C VocelkaGermanyAmy Elsner RENEWAL
Stacey Q InouyeAustraliaIoni Bowcher RENEWAL
Kaitlin Z MorascaRussiaIvan Magalhaes PROPOSAL
Greenwood U OstroskyUnited KingdomXuxue Feng NEW
Francesco T OstroskyArgentinaElwin Sharvill UNQUALIFIED
Octavia W PerinGermanyIoni Bowcher PROPOSAL
Aruna Q StensethRussiaXuxue Feng NEW
Francesco O VocelkaArgentinaAnna Fali NEW
Juan C FerenczIndiaAsiya Javayant QUALIFIED
Munro S BologniaGermanyAmy Elsner RENEWAL
Nicolas Q AmigonCanadaIvan Magalhaes UNQUALIFIED
Stacey Q FollerItalyIvan Magalhaes NEGOTIATION
Faith I MorascaJapanXuxue Feng NEW
Johnson G AmigonGermanyIoni Bowcher PROPOSAL
Francesco C ShinkoJapanAsiya Javayant NEGOTIATION
Izzy R GlickRussiaBernardo Dominic UNQUALIFIED
Maria U MorascaJapanStephen Shaw PROPOSAL
Rodrigues Y MarrierGermanyOnyama Limba RENEWAL
Murillo W TollnerGermanyAsiya Javayant UNQUALIFIED
Salvatore K DoeFranceAmy Elsner NEW
Leon H DilliardRussiaAnna Fali RENEWAL
Leon M BologniaRussiaStephen Shaw NEGOTIATION
Aika P DoeArgentinaStephen Shaw QUALIFIED
Ashley Z MaletSpainXuxue Feng QUALIFIED
David V MacleadUnited KingdomAsiya Javayant RENEWAL
Cody T KuskoBrazilElwin Sharvill NEW
Kadeem Q AlbaresGermanyIoni Bowcher PROPOSAL
Julie F KuskoIndiaElwin Sharvill NEGOTIATION
Ashley X MorascaBrazilAnna Fali NEW
Izzy Z NickaCanadaOnyama Limba QUALIFIED
Murillo P GlickUnited KingdomElwin Sharvill PROPOSAL
Claire D BowleyUnited KingdomIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha N CaudyFranceIoni Bowcher PROPOSAL
Jeanfrancois F ButtSpainIvan Magalhaes QUALIFIED
Kaitlin N GillianUnited KingdomIoni Bowcher NEGOTIATION
Aditya B MarrierItalyBernardo Dominic NEW
Jennifer T RoysterJapanAnna Fali NEGOTIATION
Julie Q OstroskyAustraliaElwin Sharvill UNQUALIFIED
Antonio R PaprockiRussiaStephen Shaw NEGOTIATION
Aditya E AlbaresSpainIoni Bowcher NEW
Francesco Q WaycottUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues T BriddickFranceXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci E ButtCanada2024-06-01Dorl, James J Esq QUALIFIED66Anna Fali
1001Murillo Y CaldareraCanada2024-06-09Chanay, Jeffrey A Esq QUALIFIED71Elwin Sharvill
1002Rodrigues U FollerSpain2024-05-26Feltz Printing Service QUALIFIED22Asiya Javayant
1003Aruna T IturbideUnited Kingdom2024-06-16Chanay, Jeffrey A Esq NEW34Asiya Javayant
1004Mujtaba G VocelkaArgentina2024-06-07Chemel, James L Cpa NEW48Anna Fali
1005Greenwood R CampainIndia2024-06-12King, Christopher A Esq PROPOSAL65Elwin Sharvill
1006Maria H RimGermany2024-06-21Benton, John B Jr QUALIFIED66Asiya Javayant
1007David I FlosiSpain2024-06-12Truhlar And Truhlar Attys NEW33Ivan Magalhaes
1008Leja J MaletAustralia2024-06-03Truhlar And Truhlar Attys QUALIFIED21Bernardo Dominic
1009Clifford U MaletItaly2024-06-04Dorl, James J Esq NEW65Asiya Javayant
1010Claire K GauchoUnited Kingdom2024-06-16Chapman, Ross E Esq RENEWAL16Xuxue Feng
1011Darci C VenereArgentina2024-06-10Dorl, James J Esq PROPOSAL58Onyama Limba
1012Johnson S WieserFrance2024-06-06Feltz Printing Service RENEWAL32Ioni Bowcher
1013Silvio M PaprockiIndia2024-06-07Chanay, Jeffrey A Esq NEGOTIATION72Stephen Shaw
1014Stacey H BriddickItaly2024-05-29Benton, John B Jr QUALIFIED98Ivan Magalhaes
1015Smith C RutaJapan2024-05-24Truhlar And Truhlar Attys NEGOTIATION89Amy Elsner
1016Alejandro J RutaRussia2024-06-22Printing Dimensions NEW75Stephen Shaw
1017Octavia F BologniaSpain2024-06-04Chanay, Jeffrey A Esq NEW79Bernardo Dominic
1018James U WaycottItaly2024-06-01Feltz Printing Service RENEWAL47Onyama Limba
1019James B AmigonArgentina2024-06-02Feltz Printing Service NEW75Ioni Bowcher
1020Kadeem K PerinItaly2024-05-28Truhlar And Truhlar Attys NEGOTIATION35Amy Elsner
1021Arvin W DoeFrance2024-06-10Rousseaux, Michael Esq NEGOTIATION96Ivan Magalhaes
1022Emily A PoquetteBrazil2024-05-28Printing Dimensions NEW67Xuxue Feng
1023Jennifer K ChuiCanada2024-05-24Commercial Press NEW12Elwin Sharvill
1024Ivar V KuskoGermany2024-06-02Morlong Associates PROPOSAL50Asiya Javayant
1025Ashley X NickaAustralia2024-05-26Chemel, James L Cpa UNQUALIFIED37Ioni Bowcher
1026Cody U NickaAustralia2024-05-28Truhlar And Truhlar Attys UNQUALIFIED62Anna Fali
1027Francesco C WaycottFrance2024-06-13King, Christopher A Esq NEW74Ioni Bowcher
1028Silvio Y RoysterJapan2024-06-12Rousseaux, Michael Esq QUALIFIED21Amy Elsner
1029Misaki V ShinkoCanada2024-05-29Rangoni Of Florence UNQUALIFIED48Ivan Magalhaes
1030Tony E AlbaresRussia2024-05-28Feltz Printing Service PROPOSAL58Stephen Shaw
1031Wickens A RimJapan2024-05-28Truhlar And Truhlar Attys RENEWAL47Amy Elsner
1032Munro P RimJapan2024-06-05Chanay, Jeffrey A Esq PROPOSAL8Onyama Limba
1033Cody Q DarakjyArgentina2024-05-31Commercial Press PROPOSAL11Anna Fali
1034Costa Y StensethArgentina2024-05-25Truhlar And Truhlar Attys NEW44Stephen Shaw
1035Greenwood A CaudyGermany2024-06-15Commercial Press NEGOTIATION48Anna Fali
1036Mayumi H ButtIndia2024-06-10Feltz Printing Service QUALIFIED47Ioni Bowcher
1037Isabel H WieserUnited Kingdom2024-06-03Feiner Bros QUALIFIED18Onyama Limba
1038Salvatore I KuskoAustralia2024-06-11Dorl, James J Esq UNQUALIFIED13Asiya Javayant
1039Aruna F GillianArgentina2024-05-30Benton, John B Jr PROPOSAL22Ivan Magalhaes
1040Aika X DoeJapan2024-06-07Chanay, Jeffrey A Esq NEGOTIATION57Asiya Javayant
1041Chavez X GillianSpain2024-05-27Feltz Printing Service UNQUALIFIED48Anna Fali
1042Alejandro I CampainBrazil2024-06-20Morlong Associates NEW19Stephen Shaw
1043Mayumi Y FollerJapan2024-05-25Feiner Bros QUALIFIED12Stephen Shaw
1044Izzy I VenereJapan2024-06-04Chemel, James L Cpa NEW99Stephen Shaw
1045Octavia P NickaRussia2024-05-27Chemel, James L Cpa RENEWAL52Stephen Shaw
1046Jeanfrancois K AmigonAustralia2024-06-15Feltz Printing Service PROPOSAL63Bernardo Dominic
1047Juan O SergiFrance2024-05-25Morlong Associates NEW44Elwin Sharvill
1048Nicolas B ChuiItaly2024-06-08Benton, John B Jr NEW49Onyama Limba
1049Tony Z CaldareraArgentina2024-06-08Benton, John B Jr NEGOTIATION10Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Misaki A KolmetzFranceAnna Fali UNQUALIFIED
Ivar V WaycottIndiaIoni Bowcher UNQUALIFIED
Ricardo X PaprockiAustraliaIvan Magalhaes NEW
Francesco A BologniaCanadaXuxue Feng QUALIFIED
Johnson V ButtUnited KingdomXuxue Feng UNQUALIFIED
Jefferson V GarufiGermanyStephen Shaw QUALIFIED
Misaki Y GlickSpainAmy Elsner UNQUALIFIED
Emily X OldroydItalyStephen Shaw NEGOTIATION
Aruna R GillianBrazilXuxue Feng UNQUALIFIED
Claire U CaldareraUnited KingdomBernardo Dominic NEGOTIATION
Francesco Z MorascaIndiaBernardo Dominic RENEWAL
Murillo A RimSpainElwin Sharvill NEW
Johnson R StockhamGermanyOnyama Limba NEGOTIATION
David A FlosiSpainStephen Shaw NEW
Octavia Z RutaArgentinaIoni Bowcher QUALIFIED
Izzy G NickaUnited KingdomAnna Fali PROPOSAL
Claire Y SchemmerRussiaIoni Bowcher NEGOTIATION
Izzy M NickaBrazilAmy Elsner NEW
Salvatore T FigeroaBrazilAmy Elsner RENEWAL
Aruna X NestleFranceStephen Shaw NEW
Maria T TollnerIndiaAnna Fali UNQUALIFIED
Darci U SchemmerAustraliaBernardo Dominic QUALIFIED
Leja S SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Sinclair X FlosiItalyAmy Elsner QUALIFIED
Ivar P MorascaRussiaIvan Magalhaes NEW
Kadeem K DarakjyIndiaIoni Bowcher NEGOTIATION
Salvatore Z ButtIndiaStephen Shaw NEGOTIATION
Aruna N KolmetzItalyXuxue Feng NEW
Aditya P RimAustraliaAmy Elsner PROPOSAL
Ashley C NickaCanadaOnyama Limba PROPOSAL
Rodrigues N MaletRussiaXuxue Feng NEGOTIATION
Isabel E AlbaresItalyIoni Bowcher UNQUALIFIED
Johnson X FlosiCanadaStephen Shaw NEW
Aika M SchemmerSpainIoni Bowcher PROPOSAL
Johnson B StensethCanadaAnna Fali QUALIFIED
Ivar T StockhamGermanyElwin Sharvill QUALIFIED
Aditya M NestleGermanyOnyama Limba UNQUALIFIED
Darci J StensethArgentinaStephen Shaw NEW
Jeanfrancois Q RutaFranceAsiya Javayant QUALIFIED
Darci P GauchoArgentinaXuxue Feng UNQUALIFIED
James Y NickaFranceAsiya Javayant NEGOTIATION
Izzy J BowleySpainBernardo Dominic QUALIFIED
Jones H RimIndiaStephen Shaw PROPOSAL
Salvatore M AlbaresItalyXuxue Feng UNQUALIFIED
Murillo B BowleyUnited KingdomXuxue Feng NEW
Aditya P PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Jones G InouyeAustraliaIvan Magalhaes NEW
Francesco O PoquetteAustraliaElwin Sharvill PROPOSAL
Cody M StockhamIndiaIvan Magalhaes NEGOTIATION
Costa Q StockhamGermanyAmy Elsner NEGOTIATION
Frozen Columns
Name
Chavez T Glick
Arvin U Maclead
Aruna P Foller
Jeanfrancois I Dilliard
Maria W Stenseth
Izzy B Stenseth
Izzy K Schemmer
Juan C Morasca
Leon S Foller
Murillo R Darakjy
Clifford Z Darakjy
Antonio D Campain
Ivar T Vocelka
Alejandro I Rim
Nicolas O Figeroa
Adams J Schemmer
Cody M Briddick
Maisha R Saylors
Clifford W Waycott
James S Briddick
Johnson B Rulapaugh
Aika E Marrier
Izzy G Figeroa
Murillo E Rim
Rodrigues I Marrier
Francesco C Tollner
Adams S Perin
Morrow S Doe
Nicolas N Saylors
Leon A Figeroa
Deepesh E Bowley
Mujtaba C Campain
Alejandro S Malet
Morrow I Doe
Tony J Stenseth
Leja C Nicka
Sinclair U Waycott
Aika G Glick
Munro N Dilliard
Tony Y Morasca
Silvio T Maclead
Jefferson I Stockham
Costa G Darakjy
Kadeem B Campain
Mayumi R Sergi
Emily J Tollner
Alejandro J Ruta
Ashley A Glick
James V Bolognia
Arvin Q Malet
IdCountryDate
1000Brazil2024-05-25
1001Spain2024-06-20
1002France2024-05-30
1003Japan2024-06-05
1004Italy2024-05-24
1005Canada2024-06-09
1006Brazil2024-06-20
1007Germany2024-06-12
1008Canada2024-06-17
1009Russia2024-05-25
1010Brazil2024-05-24
1011Canada2024-06-14
1012Japan2024-06-06
1013Germany2024-06-17
1014Russia2024-06-06
1015France2024-06-03
1016Spain2024-05-26
1017Australia2024-06-03
1018Germany2024-05-28
1019Brazil2024-06-15
1020Russia2024-06-07
1021France2024-06-15
1022Argentina2024-05-26
1023Russia2024-05-27
1024India2024-06-16
1025Brazil2024-06-06
1026Brazil2024-06-16
1027India2024-06-16
1028Russia2024-06-02
1029India2024-06-12
1030Brazil2024-06-06
1031Spain2024-06-05
1032India2024-06-11
1033India2024-06-18
1034France2024-06-21
1035United Kingdom2024-06-01
1036Brazil2024-05-30
1037United Kingdom2024-06-05
1038Japan2024-06-11
1039United Kingdom2024-06-01
1040Spain2024-05-28
1041Germany2024-06-09
1042Australia2024-06-14
1043Russia2024-06-05
1044Canada2024-06-22
1045Japan2024-06-13
1046Argentina2024-06-16
1047Brazil2024-06-04
1048Australia2024-06-22
1049Argentina2024-05-25

On-Demand Data

NameIdCountryDate
Aditya U Shinko1000Russia2024-06-18
Jones M Whobrey1001Japan2024-06-05
Izzy M Glick1002Canada2024-06-01
Wickens S Caldarera1003Australia2024-06-15
Julie P Chui1004Japan2024-06-12
Aika S Darakjy1005Japan2024-06-07
Maisha X Chui1006Japan2024-06-12
Salvatore E Ferencz1007Spain2024-06-12
Alejandro D Flosi1008Italy2024-06-13
Izzy K Dilliard1009Canada2024-05-31
Jeanfrancois N Bolognia1010Germany2024-06-03
Jennifer X Bowley1011Italy2024-06-17
Julie W Iturbide1012Germany2024-05-26
Rodrigues T Glick1013Argentina2024-06-14
Murillo U Perin1014France2024-06-02
Jennifer Q Rim1015United Kingdom2024-05-31
Johnson Y Albares1016Canada2024-05-27
Jefferson D Amigon1017Germany2024-06-19
Aruna X Paprocki1018Australia2024-06-13
Izzy L Oldroyd1019Brazil2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David V DilliardGermanyIoni Bowcher PROPOSAL
Aruna X GlickSpainAsiya Javayant UNQUALIFIED
Jeanfrancois V MacleadCanadaXuxue Feng RENEWAL
Wickens O StensethItalyOnyama Limba PROPOSAL
Tony P StensethArgentinaIvan Magalhaes NEGOTIATION
Munro G ButtItalyStephen Shaw UNQUALIFIED
Claire T WieserUnited KingdomElwin Sharvill QUALIFIED
Nicolas C VenereBrazilAsiya Javayant UNQUALIFIED
Maria L AmigonSpainOnyama Limba UNQUALIFIED
Rodrigues L GillianFranceStephen Shaw RENEWAL
Maria A BriddickItalyOnyama Limba NEGOTIATION
Munro N StensethIndiaBernardo Dominic NEW
Octavia Y RulapaughSpainXuxue Feng NEW
Wickens B SlusarskiUnited KingdomOnyama Limba RENEWAL
Sinclair I PaprockiBrazilAsiya Javayant UNQUALIFIED
Arvin Q FerenczJapanElwin Sharvill NEGOTIATION
Silvio B StensethSpainIoni Bowcher NEGOTIATION
Antonio F KolmetzRussiaAsiya Javayant NEGOTIATION
Claire Z DoeCanadaAnna Fali RENEWAL
Leon V SlusarskiIndiaStephen Shaw QUALIFIED
Aruna G NickaArgentinaIvan Magalhaes RENEWAL
Leon C CampainAustraliaStephen Shaw RENEWAL
David G BologniaSpainElwin Sharvill UNQUALIFIED
Antonio E CaudyFranceAsiya Javayant NEW
Emily W KuskoGermanyElwin Sharvill NEGOTIATION
Ricardo J MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Julie K AlbaresGermanyStephen Shaw RENEWAL
Francesco G SlusarskiGermanyIoni Bowcher QUALIFIED
David L SchemmerFranceStephen Shaw UNQUALIFIED
Costa U NestleJapanAsiya Javayant RENEWAL
Aditya T ChuiArgentinaElwin Sharvill NEW
Sinclair I GarufiArgentinaAnna Fali RENEWAL
Silvio T DarakjyCanadaIoni Bowcher NEW
David N StensethGermanyElwin Sharvill NEW
Jeanfrancois J KuskoJapanAmy Elsner PROPOSAL
Maria L GauchoFranceElwin Sharvill UNQUALIFIED
Misaki Q RoysterFranceAnna Fali NEW
Jefferson O DarakjyItalyElwin Sharvill RENEWAL
Francesco H CampainUnited KingdomStephen Shaw QUALIFIED
Izzy A FigeroaSpainBernardo Dominic NEGOTIATION

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