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
Antonio H AmigonIndiaStephen Shaw NEW
Morrow Q FollerJapanIvan Magalhaes NEGOTIATION
Aruna H KuskoJapanStephen Shaw PROPOSAL
Deepesh Q MarrierAustraliaStephen Shaw NEW
Isabel T WhobreyAustraliaAmy Elsner NEW
Julie M FlosiCanadaAmy Elsner UNQUALIFIED
James A CampainIndiaElwin Sharvill RENEWAL
Johnson K NestleRussiaAsiya Javayant QUALIFIED
Emily H GillianGermanyBernardo Dominic PROPOSAL
Izzy K NickaRussiaAnna Fali NEGOTIATION
Silvio Z GarufiSpainIvan Magalhaes PROPOSAL
Ivar Y GillianUnited KingdomElwin Sharvill QUALIFIED
Deepesh Y DoeRussiaAsiya Javayant RENEWAL
Munro M PerinFranceElwin Sharvill NEGOTIATION
Mujtaba Q ShinkoArgentinaAmy Elsner PROPOSAL
Aruna R OstroskyItalyIoni Bowcher NEW
Julie E GauchoBrazilIoni Bowcher RENEWAL
Kaitlin N MacleadIndiaOnyama Limba NEGOTIATION
Nicolas R NickaAustraliaAmy Elsner UNQUALIFIED
Leon H VenereSpainXuxue Feng RENEWAL
Izzy I WaycottCanadaIvan Magalhaes RENEWAL
Izzy P PoquetteItalyIoni Bowcher QUALIFIED
Kaitlin D MaletAustraliaXuxue Feng PROPOSAL
Alejandro R TollnerJapanAsiya Javayant NEW
Greenwood N ButtUnited KingdomOnyama Limba UNQUALIFIED
Francesco C MaletRussiaElwin Sharvill PROPOSAL
Maisha D OstroskyArgentinaElwin Sharvill NEGOTIATION
Wickens B DoeBrazilXuxue Feng NEW
Maisha A DilliardFranceAmy Elsner NEW
Smith Y PerinGermanyIoni Bowcher PROPOSAL
Rodrigues I VenereItalyAnna Fali NEW
Ivar P CaudyFranceAmy Elsner RENEWAL
Leon O SchemmerItalyOnyama Limba NEGOTIATION
Stacey N WieserJapanBernardo Dominic NEW
Cody U PerinIndiaAnna Fali NEGOTIATION
Juan M MorascaCanadaIoni Bowcher UNQUALIFIED
Claire L FlosiBrazilOnyama Limba RENEWAL
Jones K MorascaCanadaStephen Shaw QUALIFIED
David F BriddickCanadaBernardo Dominic NEGOTIATION
Tony Z AmigonUnited KingdomIvan Magalhaes PROPOSAL
Arvin T DilliardUnited KingdomXuxue Feng NEW
Leon G FerenczGermanyAnna Fali UNQUALIFIED
Murillo R ButtAustraliaOnyama Limba UNQUALIFIED
Tony B PerinArgentinaAnna Fali NEW
Aruna F TollnerJapanIvan Magalhaes PROPOSAL
Julie Q MacleadUnited KingdomStephen Shaw UNQUALIFIED
Faith T ShinkoItalyStephen Shaw UNQUALIFIED
David L GarufiCanadaAnna Fali PROPOSAL
Aika K WhobreyItalyIvan Magalhaes NEW
Darci A CaudyAustraliaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki U DilliardRussiaElwin Sharvill RENEWAL
Johnson P FlosiFranceAnna Fali NEW
Claire L MacleadIndiaIoni Bowcher RENEWAL
Kaitlin K PaprockiJapanElwin Sharvill QUALIFIED
Adams F GlickUnited KingdomAmy Elsner QUALIFIED
Darci C MacleadItalyElwin Sharvill NEGOTIATION
Claire P PoquetteBrazilAmy Elsner NEGOTIATION
Nicolas H RutaItalyIvan Magalhaes RENEWAL
Arvin O NestleJapanIoni Bowcher NEGOTIATION
Jennifer E SergiCanadaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy Q IturbideRussia2026-07-01Chapman, Ross E Esq NEGOTIATION34Xuxue Feng
1001Kaitlin Z FollerFrance2026-06-26Printing Dimensions UNQUALIFIED82Ivan Magalhaes
1002Rodrigues C DoeRussia2026-07-01Benton, John B Jr NEGOTIATION71Ioni Bowcher
1003Murillo F BriddickCanada2026-07-15Rangoni Of Florence NEGOTIATION7Bernardo Dominic
1004Darci G VenereCanada2026-07-16Rangoni Of Florence QUALIFIED44Ioni Bowcher
1005Antonio G GlickItaly2026-07-04Truhlar And Truhlar Attys NEW73Asiya Javayant
1006Clifford R MorascaRussia2026-06-28Benton, John B Jr UNQUALIFIED1Asiya Javayant
1007Antonio U CampainCanada2026-07-08Commercial Press UNQUALIFIED47Ioni Bowcher
1008Maisha M PerinJapan2026-07-10Chapman, Ross E Esq UNQUALIFIED74Xuxue Feng
1009Adams L NestleBrazil2026-07-18Rangoni Of Florence NEGOTIATION99Ioni Bowcher
1010Darci H MaletAustralia2026-06-26Dorl, James J Esq RENEWAL22Bernardo Dominic
1011Ashley X ChuiJapan2026-07-05Dorl, James J Esq UNQUALIFIED53Stephen Shaw
1012Emily C GlickCanada2026-06-25Truhlar And Truhlar Attys PROPOSAL64Anna Fali
1013Cody X BologniaUnited Kingdom2026-07-20Chemel, James L Cpa QUALIFIED56Anna Fali
1014Nicolas Z ShinkoArgentina2026-07-05Commercial Press NEW79Ivan Magalhaes
1015Jefferson Z BologniaJapan2026-07-06Buckley Miller Wright PROPOSAL7Stephen Shaw
1016Octavia R OstroskyItaly2026-06-26Rangoni Of Florence NEGOTIATION86Elwin Sharvill
1017Clifford H MaletSpain2026-07-18Feltz Printing Service NEW11Onyama Limba
1018Jones B AmigonUnited Kingdom2026-07-18Feltz Printing Service UNQUALIFIED0Anna Fali
1019Ivar S SlusarskiItaly2026-07-18Printing Dimensions UNQUALIFIED80Amy Elsner
1020Leja V ShinkoItaly2026-06-28Dorl, James J Esq RENEWAL2Onyama Limba
1021Nicolas X GauchoRussia2026-07-18Commercial Press QUALIFIED72Bernardo Dominic
1022Ricardo K WhobreyGermany2026-07-21Dorl, James J Esq QUALIFIED93Elwin Sharvill
1023Jennifer L VocelkaJapan2026-07-14Morlong Associates QUALIFIED44Xuxue Feng
1024Ashley O RimRussia2026-07-06Dorl, James J Esq NEGOTIATION67Amy Elsner
1025Tony T RoysterItaly2026-07-05Truhlar And Truhlar Attys QUALIFIED47Asiya Javayant
1026Cody C WaycottSpain2026-07-21Truhlar And Truhlar Attys QUALIFIED97Anna Fali
1027Alejandro F MorascaFrance2026-07-08King, Christopher A Esq UNQUALIFIED45Anna Fali
1028Juan D FigeroaAustralia2026-07-21Chanay, Jeffrey A Esq PROPOSAL56Onyama Limba
1029Clifford K VocelkaRussia2026-07-16Chemel, James L Cpa UNQUALIFIED21Stephen Shaw
1030Smith V NestleSpain2026-06-25Morlong Associates UNQUALIFIED47Ioni Bowcher
1031Jeanfrancois H NestleIndia2026-07-08Rousseaux, Michael Esq UNQUALIFIED83Ioni Bowcher
1032Cody Q DilliardItaly2026-07-08Dorl, James J Esq NEW26Xuxue Feng
1033Aditya B FerenczCanada2026-07-08Feltz Printing Service RENEWAL98Asiya Javayant
1034Julie D KolmetzUnited Kingdom2026-07-10Rangoni Of Florence NEGOTIATION3Asiya Javayant
1035Faith G VenereSpain2026-07-06Chapman, Ross E Esq RENEWAL3Amy Elsner
1036Rodrigues U GlickArgentina2026-06-25Dorl, James J Esq RENEWAL67Asiya Javayant
1037Jennifer I BowleyArgentina2026-06-25Chemel, James L Cpa QUALIFIED63Elwin Sharvill
1038Adams L GarufiSpain2026-07-17Truhlar And Truhlar Attys UNQUALIFIED23Bernardo Dominic
1039Sinclair Z DarakjyRussia2026-06-30King, Christopher A Esq UNQUALIFIED90Amy Elsner
1040Tony W PerinJapan2026-07-13Commercial Press QUALIFIED7Elwin Sharvill
1041Maria C PoquetteBrazil2026-07-01Dorl, James J Esq QUALIFIED13Asiya Javayant
1042Leja I PerinCanada2026-07-15Benton, John B Jr UNQUALIFIED2Anna Fali
1043Aika X IturbideUnited Kingdom2026-06-25Feltz Printing Service QUALIFIED48Bernardo Dominic
1044Kadeem E MaletRussia2026-06-23Chapman, Ross E Esq PROPOSAL34Ioni Bowcher
1045Rodrigues Y PoquetteIndia2026-06-23Rangoni Of Florence NEW64Xuxue Feng
1046Misaki S StensethBrazil2026-07-09King, Christopher A Esq RENEWAL99Anna Fali
1047Emily D DilliardFrance2026-07-07Feltz Printing Service RENEWAL8Ivan Magalhaes
1048Aruna Z PoquetteCanada2026-07-01Feiner Bros QUALIFIED52Elwin Sharvill
1049Alejandro E OstroskyUnited Kingdom2026-07-14Rangoni Of Florence PROPOSAL56Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Julie G FlosiJapanOnyama Limba NEGOTIATION
Faith O SaylorsBrazilXuxue Feng NEW
Arvin C FollerArgentinaElwin Sharvill UNQUALIFIED
Leja H SchemmerIndiaIoni Bowcher NEW
Francesco P SaylorsArgentinaOnyama Limba RENEWAL
Costa S PerinRussiaOnyama Limba UNQUALIFIED
Adams G OldroydUnited KingdomAnna Fali QUALIFIED
Jennifer Y BowleyGermanyAnna Fali PROPOSAL
Murillo J TollnerGermanyAsiya Javayant NEW
Francesco I GarufiArgentinaElwin Sharvill NEW
Aika S MacleadFranceOnyama Limba UNQUALIFIED
Aditya K InouyeArgentinaStephen Shaw NEW
Kaitlin S MacleadUnited KingdomBernardo Dominic RENEWAL
Murillo B ShinkoGermanyElwin Sharvill NEW
Smith O TollnerRussiaXuxue Feng NEGOTIATION
Wickens X PerinIndiaAmy Elsner PROPOSAL
Maria R RutaIndiaElwin Sharvill RENEWAL
Mujtaba O BologniaRussiaStephen Shaw NEGOTIATION
Nicolas W OldroydUnited KingdomAmy Elsner QUALIFIED
Johnson R RutaFranceXuxue Feng UNQUALIFIED
Leon D KolmetzRussiaXuxue Feng UNQUALIFIED
Wickens D RimArgentinaBernardo Dominic RENEWAL
Nicolas M FlosiArgentinaStephen Shaw NEGOTIATION
Smith G WieserIndiaElwin Sharvill QUALIFIED
Deepesh V KuskoCanadaAnna Fali NEW
Ricardo D SchemmerFranceOnyama Limba PROPOSAL
Ashley A WaycottCanadaElwin Sharvill UNQUALIFIED
Sinclair C KuskoIndiaXuxue Feng UNQUALIFIED
Smith L DarakjyGermanyAmy Elsner QUALIFIED
Morrow D FigeroaBrazilXuxue Feng QUALIFIED
Nicolas L SchemmerFranceOnyama Limba NEGOTIATION
Julie T SaylorsSpainAmy Elsner NEGOTIATION
Jefferson P CaudyJapanElwin Sharvill QUALIFIED
Leja M TollnerFranceOnyama Limba QUALIFIED
Alejandro Q GlickAustraliaStephen Shaw PROPOSAL
Wickens K RoysterBrazilAsiya Javayant PROPOSAL
Kadeem L MaletCanadaElwin Sharvill NEW
Tony L NickaAustraliaAmy Elsner NEGOTIATION
Isabel X WhobreyJapanStephen Shaw RENEWAL
Jones A BowleyRussiaElwin Sharvill PROPOSAL
Claire U FerenczItalyBernardo Dominic NEW
Adams I AlbaresItalyAmy Elsner QUALIFIED
Arvin T SergiAustraliaXuxue Feng PROPOSAL
Leon M FigeroaSpainAsiya Javayant PROPOSAL
Leja V MarrierUnited KingdomAsiya Javayant PROPOSAL
Costa H VocelkaItalyOnyama Limba QUALIFIED
Jones U OldroydArgentinaIvan Magalhaes NEW
Francesco C MorascaIndiaIvan Magalhaes RENEWAL
Stacey W KolmetzFranceAsiya Javayant NEW
Maisha Y RoysterJapanAsiya Javayant RENEWAL
Frozen Columns
Name
Octavia K Ruta
Antonio G Schemmer
Tony Y Ruta
Costa N Campain
Sinclair A Venere
Julie R Iturbide
Maisha W Albares
Greenwood B Perin
Ivar C Shinko
Izzy R Figeroa
Deepesh Q Ferencz
Morrow D Nicka
Sinclair A Oldroyd
James E Ferencz
Cody A Poquette
Aika Y Rulapaugh
Kadeem P Oldroyd
Darci M Foller
Wickens A Vocelka
Leja C Paprocki
Rodrigues W Caudy
Greenwood D Shinko
Silvio S Bolognia
Mayumi F Bolognia
Costa K Marrier
Munro Q Stockham
Aditya W Gillian
Johnson R Stockham
Izzy C Vocelka
Aditya H Briddick
Jennifer P Whobrey
Johnson L Ruta
Kadeem C Tollner
Izzy F Wieser
Morrow U Nicka
Clifford D Garufi
Emily E Iturbide
Salvatore Q Nestle
James Q Rim
Emily J Garufi
Jennifer Y Dilliard
Munro K Iturbide
Jeanfrancois F Malet
Jefferson N Stockham
Clifford O Doe
Nicolas L Amigon
Adams H Ferencz
Antonio N Perin
Leja S Saylors
Aditya T Gaucho
IdCountryDate
1000United Kingdom2026-07-10
1001France2026-07-08
1002Australia2026-07-12
1003India2026-07-10
1004Japan2026-06-26
1005Russia2026-07-22
1006Russia2026-07-15
1007Japan2026-07-04
1008Italy2026-07-22
1009Argentina2026-07-15
1010France2026-06-29
1011Brazil2026-07-10
1012United Kingdom2026-07-16
1013Germany2026-07-07
1014Japan2026-06-29
1015Australia2026-07-09
1016Australia2026-07-10
1017Brazil2026-07-07
1018Brazil2026-06-28
1019Canada2026-07-04
1020Italy2026-06-30
1021Australia2026-07-09
1022Australia2026-07-22
1023Japan2026-07-20
1024Canada2026-07-07
1025India2026-07-09
1026India2026-07-19
1027Australia2026-06-24
1028Russia2026-06-24
1029Japan2026-07-20
1030Russia2026-07-11
1031Argentina2026-06-29
1032Germany2026-06-29
1033Australia2026-07-19
1034Spain2026-06-28
1035Spain2026-07-01
1036India2026-07-22
1037Japan2026-06-30
1038Canada2026-07-18
1039Canada2026-07-04
1040India2026-07-10
1041Argentina2026-07-08
1042Spain2026-07-13
1043India2026-07-15
1044Italy2026-07-09
1045Germany2026-07-01
1046United Kingdom2026-07-17
1047Germany2026-07-08
1048Argentina2026-07-02
1049Germany2026-07-11

On-Demand Data

NameIdCountryDate
Alejandro A Nicka1000Japan2026-06-26
Rodrigues S Royster1001Germany2026-07-14
Nicolas K Stenseth1002Russia2026-07-03
David A Marrier1003Australia2026-07-08
Jones H Schemmer1004United Kingdom2026-06-23
Johnson G Briddick1005Brazil2026-07-22
Arvin V Bowley1006Spain2026-06-28
Aditya M Figeroa1007Brazil2026-06-23
Arvin E Bowley1008Australia2026-07-17
Jones O Morasca1009Brazil2026-07-12
Antonio N Slusarski1010United Kingdom2026-07-21
Nicolas Z Saylors1011Canada2026-06-26
Wickens S Malet1012Australia2026-07-14
Greenwood D Tollner1013United Kingdom2026-06-26
Silvio U Stenseth1014India2026-07-16
Morrow V Tollner1015France2026-07-16
Emily C Butt1016Russia2026-07-06
Stacey M Caudy1017France2026-06-23
Leon K Dilliard1018Canada2026-07-05
Silvio U Amigon1019Russia2026-07-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford G CaudySpainAnna Fali PROPOSAL
Clifford F OstroskyUnited KingdomXuxue Feng NEGOTIATION
Mujtaba O FlosiUnited KingdomOnyama Limba QUALIFIED
Julie I RutaJapanAsiya Javayant NEGOTIATION
Claire C VenereArgentinaAnna Fali PROPOSAL
Ashley E MacleadGermanyElwin Sharvill PROPOSAL
Cody I PaprockiAustraliaStephen Shaw RENEWAL
Misaki S KuskoArgentinaElwin Sharvill NEW
Wickens X FigeroaGermanyElwin Sharvill NEGOTIATION
Tony B InouyeCanadaElwin Sharvill QUALIFIED
Jefferson W KolmetzSpainIoni Bowcher QUALIFIED
Jeanfrancois K StensethArgentinaIoni Bowcher UNQUALIFIED
Francesco C SergiAustraliaElwin Sharvill UNQUALIFIED
Costa Y WieserJapanXuxue Feng RENEWAL
Maria N SaylorsFranceIvan Magalhaes PROPOSAL
James L RulapaughSpainBernardo Dominic NEGOTIATION
Juan P SaylorsCanadaElwin Sharvill UNQUALIFIED
Cody T KuskoUnited KingdomBernardo Dominic NEGOTIATION
Leja H OldroydIndiaAmy Elsner PROPOSAL
Jennifer H MorascaIndiaBernardo Dominic RENEWAL
Clifford O BowleyFranceBernardo Dominic UNQUALIFIED
Arvin T PaprockiIndiaAsiya Javayant PROPOSAL
Jeanfrancois U BowleyUnited KingdomStephen Shaw NEW
Rodrigues A StensethUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio U SlusarskiSpainIoni Bowcher UNQUALIFIED
Salvatore Q AlbaresGermanyIvan Magalhaes NEW
Ivar O FigeroaJapanIvan Magalhaes UNQUALIFIED
Octavia S FigeroaSpainAsiya Javayant QUALIFIED
James E NickaJapanAnna Fali NEW
Munro B ShinkoAustraliaAsiya Javayant NEGOTIATION
Darci C GauchoSpainIvan Magalhaes PROPOSAL
Greenwood O DilliardCanadaAsiya Javayant QUALIFIED
Nicolas S BriddickArgentinaIoni Bowcher UNQUALIFIED
Jennifer F RutaRussiaIvan Magalhaes UNQUALIFIED
Murillo N PerinCanadaIoni Bowcher UNQUALIFIED
Isabel K ButtUnited KingdomAmy Elsner PROPOSAL
Ricardo U GarufiIndiaAnna Fali QUALIFIED
Jefferson R OstroskyArgentinaIvan Magalhaes NEGOTIATION
Jeanfrancois U MaletArgentinaXuxue Feng PROPOSAL
Izzy R ChuiUnited KingdomIvan Magalhaes 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>