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
Wickens U MacleadRussiaAsiya Javayant NEW
David J NestleArgentinaStephen Shaw RENEWAL
Emily C DilliardBrazilBernardo Dominic UNQUALIFIED
Sinclair T ShinkoFranceOnyama Limba RENEWAL
Murillo M RutaCanadaElwin Sharvill QUALIFIED
Smith M StensethRussiaBernardo Dominic NEW
Ricardo X NickaSpainElwin Sharvill QUALIFIED
Ashley S AmigonIndiaElwin Sharvill UNQUALIFIED
Salvatore R WieserFranceXuxue Feng NEGOTIATION
Rodrigues W DilliardArgentinaStephen Shaw UNQUALIFIED
Kadeem E RulapaughCanadaXuxue Feng NEW
Munro R ShinkoBrazilStephen Shaw UNQUALIFIED
Ricardo W MarrierCanadaStephen Shaw NEGOTIATION
Octavia R NestleArgentinaIoni Bowcher QUALIFIED
Aditya F AlbaresIndiaElwin Sharvill NEW
Deepesh Z CaudyRussiaIoni Bowcher PROPOSAL
Greenwood X TollnerItalyAmy Elsner RENEWAL
Ivar A SchemmerIndiaIoni Bowcher PROPOSAL
Murillo F FlosiUnited KingdomXuxue Feng QUALIFIED
Stacey B NestleBrazilElwin Sharvill QUALIFIED
Maisha W MaletArgentinaBernardo Dominic RENEWAL
Leon O MaletGermanyStephen Shaw NEW
Aditya A DarakjyGermanyIvan Magalhaes NEGOTIATION
Mayumi M NestleBrazilOnyama Limba NEW
Misaki I StockhamArgentinaElwin Sharvill UNQUALIFIED
Jefferson M GauchoGermanyXuxue Feng NEW
Munro D WaycottGermanyStephen Shaw UNQUALIFIED
Darci I InouyeRussiaBernardo Dominic UNQUALIFIED
Jefferson I StensethSpainAnna Fali RENEWAL
Rodrigues L DoeSpainXuxue Feng UNQUALIFIED
Murillo G FerenczArgentinaBernardo Dominic RENEWAL
Antonio Q PaprockiBrazilAmy Elsner NEW
Aruna O WhobreySpainIvan Magalhaes PROPOSAL
Leja P MacleadSpainStephen Shaw PROPOSAL
Kaitlin S WieserGermanyIvan Magalhaes NEW
Misaki B NestleSpainOnyama Limba NEW
Jefferson B SergiRussiaOnyama Limba NEW
Aika Q MaletSpainIvan Magalhaes QUALIFIED
Greenwood M StensethAustraliaAmy Elsner NEW
Jennifer Y SaylorsRussiaAnna Fali NEGOTIATION
Adams U RoysterArgentinaStephen Shaw QUALIFIED
Jeanfrancois Q GauchoGermanyIoni Bowcher QUALIFIED
Julie Q NestleIndiaXuxue Feng UNQUALIFIED
Nicolas N MarrierAustraliaAnna Fali NEW
Silvio R MarrierItalyAnna Fali RENEWAL
Kaitlin L NestleFranceXuxue Feng NEW
Aruna J SlusarskiIndiaOnyama Limba NEGOTIATION
Nicolas Z OldroydArgentinaAnna Fali PROPOSAL
Aruna B WhobreyGermanyXuxue Feng PROPOSAL
Mujtaba A WhobreySpainBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie O SaylorsAustraliaIoni Bowcher NEW
Octavia L KuskoSpainBernardo Dominic PROPOSAL
Kaitlin L AmigonItalyXuxue Feng RENEWAL
Maisha K PaprockiGermanyAsiya Javayant UNQUALIFIED
Juan X FerenczSpainIvan Magalhaes RENEWAL
Silvio S SchemmerItalyAnna Fali NEGOTIATION
Tony A VocelkaItalyAnna Fali RENEWAL
Cody H AlbaresItalyAnna Fali NEW
Morrow F BriddickJapanElwin Sharvill PROPOSAL
Jennifer G ShinkoAustraliaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore I RulapaughCanada2026-07-01Truhlar And Truhlar Attys PROPOSAL23Bernardo Dominic
1001Faith V WaycottItaly2026-06-30Printing Dimensions PROPOSAL72Stephen Shaw
1002Emily D VocelkaIndia2026-06-05Printing Dimensions NEW63Anna Fali
1003Jeanfrancois W OstroskyCanada2026-06-21Feiner Bros RENEWAL37Anna Fali
1004Antonio K SlusarskiCanada2026-06-28Rousseaux, Michael Esq PROPOSAL13Stephen Shaw
1005Jeanfrancois Q SchemmerUnited Kingdom2026-06-26Chapman, Ross E Esq QUALIFIED31Onyama Limba
1006Aditya H MorascaFrance2026-06-06Chanay, Jeffrey A Esq UNQUALIFIED7Xuxue Feng
1007Jeanfrancois H MacleadBrazil2026-06-27Morlong Associates UNQUALIFIED6Onyama Limba
1008Salvatore N GauchoIndia2026-06-23Buckley Miller Wright UNQUALIFIED32Ivan Magalhaes
1009Ashley O SlusarskiIndia2026-06-17Commercial Press PROPOSAL18Elwin Sharvill
1010James U SaylorsAustralia2026-06-23Feiner Bros PROPOSAL56Ivan Magalhaes
1011Izzy V KuskoUnited Kingdom2026-06-10Benton, John B Jr RENEWAL14Stephen Shaw
1012Emily S TollnerIndia2026-06-20Commercial Press PROPOSAL2Elwin Sharvill
1013Munro R DarakjyGermany2026-06-13Chapman, Ross E Esq NEW6Anna Fali
1014Antonio T AlbaresBrazil2026-07-03Chemel, James L Cpa PROPOSAL9Asiya Javayant
1015Francesco V PaprockiArgentina2026-06-08Commercial Press QUALIFIED26Ioni Bowcher
1016Isabel O FigeroaIndia2026-06-08Buckley Miller Wright PROPOSAL34Elwin Sharvill
1017Aditya X ButtJapan2026-06-16Feiner Bros PROPOSAL69Anna Fali
1018Aditya O AmigonUnited Kingdom2026-06-19Buckley Miller Wright RENEWAL59Anna Fali
1019Aruna O BowleyUnited Kingdom2026-06-23Printing Dimensions NEGOTIATION26Stephen Shaw
1020Aruna C WhobreyItaly2026-06-20Rangoni Of Florence RENEWAL93Anna Fali
1021Kadeem J TollnerSpain2026-06-24Rangoni Of Florence UNQUALIFIED81Onyama Limba
1022Adams H KolmetzAustralia2026-06-22Chemel, James L Cpa RENEWAL9Stephen Shaw
1023Maisha O BologniaRussia2026-07-02King, Christopher A Esq NEGOTIATION8Ioni Bowcher
1024Mayumi K WieserUnited Kingdom2026-06-24King, Christopher A Esq RENEWAL20Asiya Javayant
1025Alejandro R StockhamFrance2026-06-18Benton, John B Jr UNQUALIFIED73Xuxue Feng
1026Maisha D FerenczSpain2026-06-09Buckley Miller Wright UNQUALIFIED43Xuxue Feng
1027Misaki Z RutaItaly2026-07-01Commercial Press UNQUALIFIED21Stephen Shaw
1028Emily H WhobreyAustralia2026-06-15Chemel, James L Cpa NEW31Anna Fali
1029Maria S FlosiSpain2026-06-11Truhlar And Truhlar Attys UNQUALIFIED32Xuxue Feng
1030David D WieserJapan2026-06-09Morlong Associates UNQUALIFIED26Stephen Shaw
1031Alejandro Q OldroydRussia2026-06-23Chemel, James L Cpa RENEWAL35Xuxue Feng
1032Jefferson F FerenczFrance2026-06-10Feiner Bros UNQUALIFIED36Amy Elsner
1033Misaki P VocelkaItaly2026-06-13Printing Dimensions PROPOSAL43Elwin Sharvill
1034Sinclair T KuskoGermany2026-06-11Feltz Printing Service PROPOSAL69Stephen Shaw
1035Jeanfrancois T IturbideFrance2026-06-06Chapman, Ross E Esq UNQUALIFIED31Amy Elsner
1036Izzy J MaletJapan2026-06-23Feltz Printing Service UNQUALIFIED49Xuxue Feng
1037Morrow L ButtUnited Kingdom2026-07-03Rangoni Of Florence QUALIFIED59Stephen Shaw
1038Tony P InouyeArgentina2026-07-03Feiner Bros NEGOTIATION85Asiya Javayant
1039Francesco K OldroydAustralia2026-06-14King, Christopher A Esq PROPOSAL94Bernardo Dominic
1040Nicolas J InouyeItaly2026-06-28Commercial Press NEW65Asiya Javayant
1041Jennifer H KolmetzGermany2026-06-20Commercial Press PROPOSAL96Ivan Magalhaes
1042David R AlbaresJapan2026-06-06Rousseaux, Michael Esq NEW90Amy Elsner
1043James U KolmetzItaly2026-06-11Benton, John B Jr UNQUALIFIED21Stephen Shaw
1044Munro O SaylorsArgentina2026-06-25Morlong Associates RENEWAL42Bernardo Dominic
1045Jones W AmigonArgentina2026-06-12Buckley Miller Wright NEGOTIATION40Onyama Limba
1046Aika K FlosiRussia2026-06-19Chemel, James L Cpa NEW10Onyama Limba
1047Mujtaba F WhobreyAustralia2026-06-15King, Christopher A Esq NEW96Amy Elsner
1048James P AmigonArgentina2026-06-16Chapman, Ross E Esq UNQUALIFIED76Asiya Javayant
1049Jones B GlickCanada2026-06-07Feiner Bros QUALIFIED6Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Alejandro B MorascaArgentinaBernardo Dominic RENEWAL
Salvatore F OstroskyIndiaIvan Magalhaes NEW
Rodrigues O IturbideBrazilAsiya Javayant RENEWAL
Johnson T MarrierRussiaElwin Sharvill NEW
David C WieserItalyBernardo Dominic NEW
Johnson B BriddickSpainOnyama Limba RENEWAL
Morrow Z MacleadAustraliaAmy Elsner NEGOTIATION
Maisha M AlbaresCanadaElwin Sharvill RENEWAL
Salvatore I PaprockiArgentinaElwin Sharvill QUALIFIED
Tony P PerinArgentinaXuxue Feng NEGOTIATION
Salvatore K ChuiAustraliaOnyama Limba UNQUALIFIED
Aika I NickaBrazilXuxue Feng PROPOSAL
Adams X NickaRussiaIvan Magalhaes QUALIFIED
Julie U WieserRussiaStephen Shaw PROPOSAL
Julie M IturbideIndiaAsiya Javayant PROPOSAL
Claire X SlusarskiSpainAnna Fali QUALIFIED
Costa F RimSpainElwin Sharvill PROPOSAL
Kadeem P FlosiArgentinaOnyama Limba PROPOSAL
Nicolas Q CaudyIndiaAsiya Javayant RENEWAL
Morrow G VenereRussiaIoni Bowcher QUALIFIED
Julie D MaletItalyElwin Sharvill NEGOTIATION
Isabel Q ChuiJapanAnna Fali RENEWAL
Aika X MorascaCanadaElwin Sharvill UNQUALIFIED
Deepesh H SlusarskiGermanyAnna Fali NEGOTIATION
Nicolas K TollnerJapanAnna Fali UNQUALIFIED
Misaki K RoysterAustraliaIvan Magalhaes RENEWAL
Cody I AmigonArgentinaIvan Magalhaes PROPOSAL
Arvin I GlickJapanElwin Sharvill RENEWAL
Deepesh C WaycottUnited KingdomAnna Fali NEGOTIATION
Nicolas Q FlosiFranceElwin Sharvill RENEWAL
Julie T StensethFranceAnna Fali NEGOTIATION
Stacey V NickaBrazilIoni Bowcher RENEWAL
Rodrigues J WieserGermanyStephen Shaw PROPOSAL
Faith X ButtBrazilOnyama Limba NEGOTIATION
Isabel U MaletCanadaOnyama Limba PROPOSAL
Stacey Q MaletItalyIoni Bowcher PROPOSAL
Wickens M NickaArgentinaIvan Magalhaes QUALIFIED
Wickens R RulapaughGermanyIoni Bowcher PROPOSAL
Mujtaba D RoysterArgentinaXuxue Feng NEGOTIATION
Kadeem V InouyeFranceIoni Bowcher RENEWAL
Tony U GauchoFranceXuxue Feng UNQUALIFIED
Misaki A InouyeGermanyIvan Magalhaes UNQUALIFIED
Ricardo O StensethGermanyBernardo Dominic NEW
Deepesh V AmigonItalyIoni Bowcher RENEWAL
Maisha X GillianSpainXuxue Feng RENEWAL
Jennifer L PoquetteGermanyElwin Sharvill RENEWAL
Mayumi T RulapaughRussiaIvan Magalhaes RENEWAL
David K CampainAustraliaStephen Shaw UNQUALIFIED
Aruna I KuskoSpainIvan Magalhaes PROPOSAL
Emily B InouyeJapanXuxue Feng QUALIFIED
Frozen Columns
Name
Jones P Albares
Maisha Y Rim
Johnson T Nicka
Nicolas J Whobrey
Antonio U Stockham
James C Chui
Costa K Briddick
Munro B Kusko
Antonio L Flosi
Julie O Briddick
Octavia H Ruta
Greenwood U Butt
Stacey K Nestle
Ashley B Perin
Izzy E Schemmer
Jeanfrancois V Rim
Munro C Whobrey
Aditya P Caudy
Silvio U Morasca
Jones Q Kolmetz
Isabel X Whobrey
Wickens A Caldarera
Munro S Doe
Morrow J Waycott
Mujtaba H Nicka
Maria I Oldroyd
James Q Bolognia
Alejandro L Stockham
Kaitlin R Campain
Ricardo D Nestle
Wickens M Ferencz
Emily O Figeroa
Rodrigues L Rim
Mayumi D Rulapaugh
Leja X Royster
Silvio A Paprocki
Octavia D Gaucho
Tony X Wieser
Cody I Malet
Nicolas Q Caldarera
David O Saylors
Adams T Gillian
Arvin M Nestle
Izzy Q Iturbide
Deepesh I Ferencz
Claire S Perin
Kaitlin V Venere
James U Venere
Salvatore P Ostrosky
Kadeem B Bowley
IdCountryDate
1000France2026-06-15
1001Australia2026-06-05
1002United Kingdom2026-07-03
1003Spain2026-06-20
1004Germany2026-06-26
1005Australia2026-06-14
1006United Kingdom2026-06-27
1007Canada2026-06-29
1008France2026-06-28
1009Australia2026-06-12
1010France2026-06-15
1011Japan2026-06-05
1012Japan2026-06-21
1013United Kingdom2026-06-20
1014Australia2026-06-26
1015Italy2026-06-18
1016India2026-06-10
1017Germany2026-06-16
1018India2026-06-20
1019Australia2026-07-02
1020Italy2026-06-06
1021Australia2026-06-15
1022Russia2026-06-04
1023Japan2026-06-10
1024Brazil2026-06-05
1025France2026-06-05
1026Canada2026-06-05
1027Germany2026-06-14
1028Germany2026-07-01
1029Argentina2026-06-27
1030Russia2026-06-20
1031Brazil2026-06-20
1032Australia2026-06-20
1033Australia2026-06-06
1034Japan2026-06-14
1035Canada2026-06-09
1036Germany2026-06-16
1037Italy2026-07-03
1038Spain2026-06-13
1039Italy2026-06-28
1040India2026-06-18
1041Germany2026-06-24
1042United Kingdom2026-06-17
1043Argentina2026-06-07
1044France2026-06-06
1045India2026-06-09
1046India2026-06-23
1047France2026-06-20
1048Russia2026-06-09
1049France2026-06-25

On-Demand Data

NameIdCountryDate
Octavia S Venere1000France2026-06-14
Leon H Slusarski1001Brazil2026-06-10
Ashley S Gaucho1002Germany2026-06-08
Leja K Royster1003Canada2026-06-20
Smith Y Caldarera1004Italy2026-06-07
Johnson L Kusko1005Brazil2026-06-23
Cody Y Whobrey1006Canada2026-06-13
David M Slusarski1007Argentina2026-06-12
Stacey P Iturbide1008Spain2026-06-07
Cody Y Schemmer1009India2026-06-26
Faith R Ostrosky1010Canada2026-06-22
Adams R Albares1011Spain2026-06-05
Arvin B Figeroa1012Japan2026-06-22
Claire P Waycott1013Japan2026-06-15
Emily N Inouye1014Germany2026-06-11
Greenwood B Sergi1015Argentina2026-06-23
Cody D Paprocki1016Italy2026-06-24
Costa I Rulapaugh1017India2026-07-02
Arvin L Bolognia1018Australia2026-06-08
Jones E Amigon1019Argentina2026-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson T PoquetteRussiaOnyama Limba NEGOTIATION
Misaki O BowleySpainAsiya Javayant QUALIFIED
Jefferson J BowleyArgentinaIoni Bowcher UNQUALIFIED
Greenwood U BologniaIndiaIoni Bowcher NEW
Wickens Z StensethCanadaElwin Sharvill QUALIFIED
Francesco R ChuiSpainIoni Bowcher NEGOTIATION
Chavez M DarakjyFranceOnyama Limba QUALIFIED
Faith M AmigonRussiaIoni Bowcher PROPOSAL
Ricardo N SlusarskiBrazilStephen Shaw NEW
Alejandro T SlusarskiBrazilAsiya Javayant QUALIFIED
Salvatore X TollnerIndiaStephen Shaw NEW
Julie Q AlbaresSpainAsiya Javayant QUALIFIED
Jennifer G DoeAustraliaOnyama Limba PROPOSAL
Wickens C FlosiIndiaBernardo Dominic RENEWAL
Murillo G ButtAustraliaElwin Sharvill PROPOSAL
Aditya M TollnerUnited KingdomElwin Sharvill NEW
Wickens M AmigonGermanyStephen Shaw NEW
Juan Y MaletCanadaAmy Elsner RENEWAL
Leja B TollnerFranceAnna Fali NEW
Juan R GillianGermanyIvan Magalhaes NEGOTIATION
Arvin O StockhamSpainBernardo Dominic QUALIFIED
Maisha H GarufiJapanXuxue Feng QUALIFIED
Misaki F FollerSpainBernardo Dominic NEGOTIATION
Johnson C GarufiIndiaIoni Bowcher UNQUALIFIED
Claire P CaldareraJapanStephen Shaw PROPOSAL
Rodrigues T NestleUnited KingdomElwin Sharvill PROPOSAL
Costa Z StensethArgentinaElwin Sharvill NEW
Wickens Z RimFranceIoni Bowcher QUALIFIED
Izzy O RimArgentinaAsiya Javayant PROPOSAL
Leja P WieserAustraliaElwin Sharvill UNQUALIFIED
Antonio G ButtRussiaStephen Shaw UNQUALIFIED
Adams C OstroskyIndiaAnna Fali UNQUALIFIED
Jefferson G FigeroaUnited KingdomBernardo Dominic NEW
Stacey J MaletIndiaElwin Sharvill NEGOTIATION
Claire B OstroskyAustraliaXuxue Feng NEW
Morrow R OstroskyArgentinaBernardo Dominic NEGOTIATION
Adams A SaylorsGermanyAnna Fali UNQUALIFIED
Faith J WieserAustraliaAmy Elsner NEW
Mayumi Q PoquetteGermanyIvan Magalhaes NEGOTIATION
Julie O IturbideArgentinaAmy Elsner 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>