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 U RutaCanadaStephen Shaw NEW
Maisha U IturbideFranceOnyama Limba QUALIFIED
Tony W GauchoJapanXuxue Feng NEW
Johnson O MaletSpainElwin Sharvill UNQUALIFIED
Antonio H ChuiAustraliaBernardo Dominic NEW
Costa R OldroydFranceStephen Shaw RENEWAL
David U ShinkoJapanIvan Magalhaes NEGOTIATION
Aditya I BowleyRussiaBernardo Dominic RENEWAL
Aditya V VocelkaBrazilXuxue Feng NEGOTIATION
Jefferson C WieserCanadaAmy Elsner PROPOSAL
Adams W MaletAustraliaAmy Elsner UNQUALIFIED
Izzy B BologniaFranceIoni Bowcher RENEWAL
Antonio J AlbaresGermanyStephen Shaw RENEWAL
Maria M GillianArgentinaBernardo Dominic PROPOSAL
Izzy U BologniaSpainBernardo Dominic QUALIFIED
Jeanfrancois E RoysterBrazilAsiya Javayant PROPOSAL
Cody G InouyeFranceIoni Bowcher NEGOTIATION
Chavez M VenereArgentinaOnyama Limba PROPOSAL
Emily U CaudyIndiaBernardo Dominic QUALIFIED
Silvio A OldroydSpainStephen Shaw RENEWAL
Murillo S IturbideIndiaAmy Elsner QUALIFIED
Misaki L AlbaresCanadaAmy Elsner UNQUALIFIED
Deepesh U DarakjyAustraliaAmy Elsner PROPOSAL
Johnson I FerenczFranceStephen Shaw PROPOSAL
Johnson W NestleGermanyOnyama Limba RENEWAL
Jones H AmigonBrazilOnyama Limba RENEWAL
Tony W GlickArgentinaElwin Sharvill NEW
Antonio P KuskoFranceAsiya Javayant NEW
Mujtaba V BriddickArgentinaAnna Fali RENEWAL
Cody V AlbaresSpainStephen Shaw PROPOSAL
Aika X BowleyItalyStephen Shaw NEGOTIATION
Jones M FigeroaCanadaElwin Sharvill NEGOTIATION
Silvio B BowleyGermanyXuxue Feng PROPOSAL
Johnson Q PerinFranceAnna Fali RENEWAL
Jones P SlusarskiFranceXuxue Feng NEGOTIATION
Izzy M PerinRussiaAmy Elsner QUALIFIED
Sinclair A BowleyItalyStephen Shaw NEGOTIATION
Jones F BowleyAustraliaOnyama Limba NEGOTIATION
Aruna G WaycottArgentinaXuxue Feng NEW
Claire N ButtUnited KingdomAnna Fali QUALIFIED
Wickens X GarufiBrazilBernardo Dominic NEGOTIATION
Stacey F DoeUnited KingdomAmy Elsner NEW
Mayumi Q TollnerUnited KingdomAnna Fali NEGOTIATION
Tony A ChuiAustraliaBernardo Dominic RENEWAL
Kadeem E AmigonCanadaAsiya Javayant NEGOTIATION
Aika I MorascaItalyBernardo Dominic NEGOTIATION
Jones F PaprockiUnited KingdomElwin Sharvill QUALIFIED
Costa C RulapaughBrazilAnna Fali NEGOTIATION
Juan N OldroydFranceIvan Magalhaes QUALIFIED
Octavia I TollnerArgentinaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
James S AmigonFranceAsiya Javayant NEGOTIATION
Adams C BowleyArgentinaAnna Fali RENEWAL
Juan L CaldareraBrazilBernardo Dominic QUALIFIED
Stacey T WaycottCanadaBernardo Dominic RENEWAL
Stacey O RoysterBrazilStephen Shaw NEW
Wickens C ButtRussiaOnyama Limba PROPOSAL
Jones O CaudyCanadaElwin Sharvill NEW
Clifford F RutaSpainAmy Elsner PROPOSAL
Deepesh Z ButtFranceAmy Elsner QUALIFIED
Nicolas T IturbideUnited KingdomStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James J RulapaughUnited Kingdom2025-06-07Feiner Bros PROPOSAL6Ivan Magalhaes
1001Costa V WhobreyUnited Kingdom2025-06-09Benton, John B Jr PROPOSAL86Elwin Sharvill
1002Kaitlin T GlickJapan2025-05-29King, Christopher A Esq UNQUALIFIED80Ivan Magalhaes
1003David V SergiIndia2025-06-14Printing Dimensions PROPOSAL27Amy Elsner
1004Ashley H FerenczItaly2025-06-14Rousseaux, Michael Esq NEW19Bernardo Dominic
1005Morrow D SergiGermany2025-05-22Morlong Associates PROPOSAL49Stephen Shaw
1006Adams Z ChuiArgentina2025-06-07Morlong Associates PROPOSAL37Xuxue Feng
1007Tony Z KuskoGermany2025-06-11Morlong Associates PROPOSAL71Onyama Limba
1008Ashley P FlosiFrance2025-06-01Truhlar And Truhlar Attys NEGOTIATION9Xuxue Feng
1009Stacey G InouyeUnited Kingdom2025-06-13Benton, John B Jr UNQUALIFIED23Elwin Sharvill
1010Misaki I CampainBrazil2025-06-01Commercial Press PROPOSAL14Bernardo Dominic
1011Emily A CaudyCanada2025-06-13Dorl, James J Esq PROPOSAL4Bernardo Dominic
1012Johnson R KuskoUnited Kingdom2025-05-27Chemel, James L Cpa QUALIFIED14Ioni Bowcher
1013Misaki K VenereFrance2025-06-16Truhlar And Truhlar Attys NEGOTIATION67Anna Fali
1014Jefferson Q MacleadJapan2025-05-23Commercial Press QUALIFIED34Stephen Shaw
1015Kaitlin Y GauchoIndia2025-05-28King, Christopher A Esq UNQUALIFIED47Ivan Magalhaes
1016Aruna I InouyeBrazil2025-05-27Feltz Printing Service PROPOSAL80Ioni Bowcher
1017Mayumi Y CaudyFrance2025-05-20Rangoni Of Florence QUALIFIED44Onyama Limba
1018Isabel J AmigonBrazil2025-06-03Benton, John B Jr RENEWAL65Ioni Bowcher
1019Wickens F StockhamArgentina2025-06-08Dorl, James J Esq RENEWAL22Asiya Javayant
1020Sinclair L BriddickCanada2025-05-18Chapman, Ross E Esq QUALIFIED54Ioni Bowcher
1021David J InouyeArgentina2025-06-12Dorl, James J Esq UNQUALIFIED66Xuxue Feng
1022Alejandro T StensethGermany2025-06-07Buckley Miller Wright UNQUALIFIED93Ioni Bowcher
1023Jennifer G MorascaRussia2025-05-30Chanay, Jeffrey A Esq PROPOSAL56Ivan Magalhaes
1024Juan C GlickBrazil2025-06-16Truhlar And Truhlar Attys QUALIFIED3Elwin Sharvill
1025Sinclair U NestleAustralia2025-06-03Chapman, Ross E Esq RENEWAL34Ioni Bowcher
1026Rodrigues A BologniaUnited Kingdom2025-06-14Benton, John B Jr UNQUALIFIED99Ioni Bowcher
1027Rodrigues L OldroydAustralia2025-06-01Rangoni Of Florence UNQUALIFIED93Stephen Shaw
1028Ivar B SaylorsIndia2025-06-03Dorl, James J Esq QUALIFIED68Anna Fali
1029Aruna U TollnerGermany2025-06-15Morlong Associates NEW54Xuxue Feng
1030Jeanfrancois N InouyeItaly2025-05-26Chanay, Jeffrey A Esq UNQUALIFIED84Anna Fali
1031Sinclair S StensethSpain2025-05-30Printing Dimensions RENEWAL49Asiya Javayant
1032Maria L MaletFrance2025-06-06Printing Dimensions NEGOTIATION19Onyama Limba
1033Francesco G ButtArgentina2025-05-22Chapman, Ross E Esq NEGOTIATION8Amy Elsner
1034Aditya W FlosiRussia2025-06-14Feltz Printing Service QUALIFIED22Onyama Limba
1035Rodrigues T CaudyGermany2025-06-02Chemel, James L Cpa NEGOTIATION0Bernardo Dominic
1036Emily Z OstroskyGermany2025-06-02Feltz Printing Service RENEWAL55Elwin Sharvill
1037Julie O AlbaresFrance2025-06-01King, Christopher A Esq UNQUALIFIED7Onyama Limba
1038Nicolas K InouyeJapan2025-05-23Chemel, James L Cpa RENEWAL92Asiya Javayant
1039Salvatore Z ChuiArgentina2025-06-14Truhlar And Truhlar Attys RENEWAL58Elwin Sharvill
1040Antonio H FerenczIndia2025-05-19Rousseaux, Michael Esq RENEWAL82Anna Fali
1041Adams U TollnerRussia2025-06-14Rousseaux, Michael Esq QUALIFIED67Onyama Limba
1042Smith X OldroydSpain2025-05-20Dorl, James J Esq QUALIFIED17Ivan Magalhaes
1043Rodrigues L VenereIndia2025-06-15Rangoni Of Florence PROPOSAL73Stephen Shaw
1044Misaki H CaudyJapan2025-06-02Buckley Miller Wright UNQUALIFIED27Xuxue Feng
1045Aika E VocelkaArgentina2025-06-10Chemel, James L Cpa PROPOSAL5Anna Fali
1046Clifford B VenereBrazil2025-06-12Printing Dimensions UNQUALIFIED11Asiya Javayant
1047James C FerenczSpain2025-06-13Chanay, Jeffrey A Esq NEW14Anna Fali
1048David E SchemmerUnited Kingdom2025-05-21Feltz Printing Service QUALIFIED51Anna Fali
1049Mayumi B OstroskyJapan2025-05-27King, Christopher A Esq RENEWAL89Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Emily O MarrierAustraliaElwin Sharvill NEW
Juan K AmigonItalyIvan Magalhaes NEW
Izzy F ShinkoBrazilAnna Fali RENEWAL
Clifford C CampainGermanyIoni Bowcher UNQUALIFIED
James X BowleyArgentinaAsiya Javayant QUALIFIED
Leon B WieserCanadaXuxue Feng NEGOTIATION
Claire C KuskoJapanIvan Magalhaes QUALIFIED
Julie A ShinkoBrazilBernardo Dominic QUALIFIED
Greenwood U ChuiArgentinaStephen Shaw RENEWAL
Francesco V MacleadIndiaOnyama Limba UNQUALIFIED
Aika C OldroydJapanAnna Fali PROPOSAL
Ashley M BologniaGermanyIvan Magalhaes NEW
Emily B ChuiArgentinaAnna Fali NEW
Aika B IturbideSpainBernardo Dominic RENEWAL
Faith E AmigonArgentinaStephen Shaw NEW
Deepesh Z WhobreyIndiaIvan Magalhaes UNQUALIFIED
Johnson Y RutaGermanyXuxue Feng NEGOTIATION
Julie H SlusarskiJapanAmy Elsner NEGOTIATION
Isabel Y AlbaresJapanElwin Sharvill NEW
Francesco N OldroydJapanAmy Elsner RENEWAL
Deepesh Y SaylorsGermanyElwin Sharvill UNQUALIFIED
Faith P BologniaAustraliaIvan Magalhaes NEGOTIATION
Sinclair H StensethBrazilStephen Shaw PROPOSAL
Jennifer W GillianGermanyBernardo Dominic QUALIFIED
Octavia N GlickRussiaElwin Sharvill QUALIFIED
Murillo V SaylorsUnited KingdomIoni Bowcher NEW
Stacey Y CaudySpainIvan Magalhaes QUALIFIED
Mayumi Z BowleySpainAsiya Javayant NEGOTIATION
Arvin I StockhamItalyAmy Elsner NEW
Greenwood C BowleyArgentinaElwin Sharvill NEW
Isabel D SlusarskiIndiaXuxue Feng QUALIFIED
Misaki C AmigonIndiaAmy Elsner NEW
Mayumi I ButtItalyAnna Fali UNQUALIFIED
Wickens D KuskoBrazilAnna Fali NEGOTIATION
Leon I GlickArgentinaBernardo Dominic RENEWAL
Aika X MaletRussiaOnyama Limba NEW
Deepesh A StockhamItalyOnyama Limba PROPOSAL
Cody B MaletItalyXuxue Feng NEGOTIATION
Darci L RutaFranceOnyama Limba NEGOTIATION
Morrow F RulapaughAustraliaBernardo Dominic QUALIFIED
Wickens Q PerinUnited KingdomIoni Bowcher NEW
Aruna T BowleyGermanyXuxue Feng NEW
Greenwood L DarakjyFranceElwin Sharvill RENEWAL
Leon Q SchemmerItalyIoni Bowcher NEW
Julie X MaletSpainBernardo Dominic NEW
Chavez U MacleadRussiaIoni Bowcher RENEWAL
Leon A DilliardSpainBernardo Dominic PROPOSAL
Morrow O MaletGermanyIoni Bowcher NEW
Francesco Y IturbideRussiaBernardo Dominic PROPOSAL
Mujtaba H MarrierJapanAmy Elsner RENEWAL
Frozen Columns
Name
Izzy P Whobrey
Kadeem T Paprocki
Deepesh A Whobrey
Silvio S Slusarski
Arvin N Chui
Leon Z Venere
Alejandro O Chui
Darci S Oldroyd
Salvatore Q Malet
Sinclair N Maclead
Emily Q Foller
Maria T Amigon
Nicolas R Iturbide
Alejandro R Doe
Morrow Y Bolognia
Maria K Slusarski
Salvatore J Sergi
Deepesh N Rulapaugh
Morrow J Darakjy
Mayumi P Tollner
Juan K Gaucho
Chavez K Caldarera
Murillo A Kusko
Kadeem L Stockham
Murillo B Oldroyd
Leja W Chui
Tony L Malet
Aditya Y Ostrosky
Rodrigues X Ostrosky
Rodrigues E Perin
Maria N Garufi
James X Royster
Cody J Venere
Octavia L Paprocki
Jennifer L Ferencz
Darci I Venere
Alejandro B Vocelka
Sinclair D Oldroyd
David Z Dilliard
Arvin D Vocelka
Adams C Amigon
Jeanfrancois N Ruta
Morrow L Stockham
Izzy F Poquette
Johnson V Kusko
Leja O Bolognia
Silvio O Campain
Isabel Y Malet
Kadeem V Rim
Aruna A Poquette
IdCountryDate
1000Argentina2025-06-03
1001Italy2025-06-16
1002United Kingdom2025-06-03
1003Argentina2025-05-31
1004Japan2025-06-01
1005United Kingdom2025-06-02
1006France2025-05-30
1007Russia2025-06-07
1008Japan2025-05-23
1009United Kingdom2025-06-04
1010Argentina2025-05-31
1011Russia2025-05-20
1012Japan2025-05-30
1013Germany2025-05-22
1014United Kingdom2025-05-19
1015Russia2025-06-12
1016Canada2025-05-31
1017France2025-05-28
1018Argentina2025-06-11
1019Germany2025-06-12
1020Japan2025-05-30
1021Brazil2025-05-30
1022Argentina2025-06-13
1023Brazil2025-05-22
1024Brazil2025-06-13
1025Spain2025-05-24
1026Italy2025-06-15
1027Germany2025-05-28
1028Germany2025-06-11
1029France2025-05-25
1030Russia2025-05-18
1031Italy2025-06-11
1032Italy2025-05-27
1033India2025-05-23
1034Argentina2025-06-10
1035Australia2025-05-24
1036Japan2025-05-19
1037Australia2025-06-10
1038United Kingdom2025-06-06
1039Germany2025-06-08
1040United Kingdom2025-06-01
1041Argentina2025-06-13
1042Brazil2025-06-16
1043Japan2025-06-01
1044Spain2025-06-16
1045Spain2025-05-27
1046France2025-06-12
1047Brazil2025-06-09
1048India2025-06-15
1049Russia2025-05-24

On-Demand Data

NameIdCountryDate
Smith J Iturbide1000Spain2025-05-19
Smith X Marrier1001Brazil2025-06-11
Maisha B Venere1002United Kingdom2025-05-18
Maria W Doe1003Japan2025-06-07
Claire O Stockham1004Australia2025-05-21
Emily P Garufi1005India2025-06-06
Rodrigues P Paprocki1006United Kingdom2025-05-31
Antonio O Tollner1007United Kingdom2025-06-05
Faith J Paprocki1008United Kingdom2025-06-09
Aruna D Flosi1009Japan2025-06-04
Misaki Z Saylors1010Spain2025-06-14
Murillo H Kolmetz1011Japan2025-06-15
Adams D Slusarski1012France2025-05-31
David Y Iturbide1013Spain2025-06-05
Johnson V Schemmer1014Brazil2025-05-27
Clifford Q Figeroa1015Australia2025-06-11
David O Ferencz1016Canada2025-05-29
Stacey W Marrier1017Germany2025-06-08
Clifford D Flosi1018Brazil2025-06-05
Adams M Briddick1019Canada2025-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson O ShinkoSpainIoni Bowcher UNQUALIFIED
Mayumi N PoquetteSpainXuxue Feng PROPOSAL
Claire S GillianFranceXuxue Feng NEW
David B GillianIndiaAmy Elsner QUALIFIED
Nicolas E PoquetteFranceOnyama Limba RENEWAL
Juan U DilliardFranceAnna Fali NEGOTIATION
Tony F NickaSpainBernardo Dominic RENEWAL
Clifford J NestleUnited KingdomAmy Elsner UNQUALIFIED
Emily J FlosiGermanyIoni Bowcher NEW
Maisha C GauchoGermanyAsiya Javayant NEW
Jennifer G IturbideIndiaAmy Elsner NEGOTIATION
Isabel Z AlbaresCanadaXuxue Feng UNQUALIFIED
Maria X MarrierGermanyOnyama Limba NEGOTIATION
Tony U DarakjyRussiaXuxue Feng PROPOSAL
Salvatore I ChuiCanadaAmy Elsner PROPOSAL
Maisha Y KuskoUnited KingdomIvan Magalhaes QUALIFIED
James F CaudyArgentinaXuxue Feng PROPOSAL
Emily A RimItalyXuxue Feng UNQUALIFIED
Kadeem G ChuiFranceElwin Sharvill NEGOTIATION
Aruna W PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Adams G FlosiBrazilAsiya Javayant NEW
Izzy C MacleadGermanyAmy Elsner NEW
Johnson G StensethUnited KingdomElwin Sharvill NEGOTIATION
Chavez F VocelkaItalyAmy Elsner NEW
Alejandro H IturbideIndiaAmy Elsner RENEWAL
Ashley Z VocelkaIndiaStephen Shaw PROPOSAL
Claire Y PaprockiFranceElwin Sharvill RENEWAL
Nicolas F MorascaSpainXuxue Feng QUALIFIED
Darci V StensethAustraliaStephen Shaw PROPOSAL
Emily P BriddickArgentinaAmy Elsner NEW
Francesco H ShinkoFranceXuxue Feng UNQUALIFIED
Salvatore A KuskoArgentinaXuxue Feng NEW
Murillo T BologniaItalyAmy Elsner UNQUALIFIED
Antonio W RimAustraliaStephen Shaw PROPOSAL
Greenwood H MorascaItalyIoni Bowcher QUALIFIED
Leja I IturbideArgentinaAsiya Javayant PROPOSAL
Maria M TollnerJapanOnyama Limba PROPOSAL
Arvin S AmigonFranceIoni Bowcher NEW
Rodrigues R FlosiRussiaAnna Fali NEW
Kaitlin J BowleyRussiaIoni Bowcher 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>