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
Jones J AmigonAustraliaIoni Bowcher QUALIFIED
Emily T VenereArgentinaXuxue Feng NEW
Ricardo E PerinFranceIoni Bowcher UNQUALIFIED
Murillo G StensethJapanAsiya Javayant UNQUALIFIED
Maria A ShinkoFranceXuxue Feng PROPOSAL
Rodrigues A VenereItalyBernardo Dominic PROPOSAL
Darci S NickaGermanyStephen Shaw PROPOSAL
Sinclair X MarrierSpainOnyama Limba PROPOSAL
Munro Z MaletFranceIoni Bowcher PROPOSAL
Greenwood L RoysterRussiaIoni Bowcher QUALIFIED
Jennifer R ButtBrazilBernardo Dominic NEW
Silvio T OldroydAustraliaStephen Shaw NEW
Alejandro H RimIndiaAnna Fali RENEWAL
Murillo W OldroydGermanyAnna Fali NEW
Greenwood E ShinkoIndiaIoni Bowcher NEW
James K StockhamRussiaOnyama Limba PROPOSAL
Arvin J WieserRussiaStephen Shaw RENEWAL
Arvin H AlbaresAustraliaAmy Elsner NEW
Wickens N FlosiAustraliaAmy Elsner RENEWAL
Aruna Y WhobreyIndiaXuxue Feng NEGOTIATION
Salvatore O WieserArgentinaIoni Bowcher NEGOTIATION
Julie Z WaycottItalyAnna Fali PROPOSAL
Maisha S AmigonIndiaIvan Magalhaes UNQUALIFIED
Silvio X GlickBrazilIvan Magalhaes UNQUALIFIED
Leon O RoysterBrazilOnyama Limba NEGOTIATION
Darci B WaycottCanadaAmy Elsner RENEWAL
Alejandro S MacleadAustraliaXuxue Feng RENEWAL
Leja G OldroydCanadaOnyama Limba PROPOSAL
Maisha L FerenczGermanyAmy Elsner NEGOTIATION
Murillo A FlosiItalyElwin Sharvill NEW
Clifford D FlosiAustraliaElwin Sharvill NEGOTIATION
Nicolas X ShinkoFranceBernardo Dominic PROPOSAL
Mayumi L CaudyCanadaStephen Shaw UNQUALIFIED
Morrow F ButtItalyAnna Fali NEGOTIATION
Johnson U MaletSpainIoni Bowcher RENEWAL
Izzy J ShinkoFranceElwin Sharvill NEGOTIATION
Clifford S AlbaresUnited KingdomAmy Elsner NEW
Johnson Z MacleadCanadaAnna Fali QUALIFIED
Claire G KolmetzRussiaStephen Shaw PROPOSAL
Adams S DarakjyAustraliaIoni Bowcher UNQUALIFIED
James I StensethIndiaAsiya Javayant NEW
Deepesh Y NickaGermanyIvan Magalhaes NEW
Smith S DarakjyArgentinaElwin Sharvill QUALIFIED
Jennifer G MorascaArgentinaElwin Sharvill QUALIFIED
Morrow K AmigonIndiaAnna Fali NEGOTIATION
Faith C PerinGermanyOnyama Limba NEW
Rodrigues K RulapaughBrazilIoni Bowcher QUALIFIED
Claire M SergiSpainAnna Fali PROPOSAL
Maisha J PoquetteGermanyAsiya Javayant NEGOTIATION
Isabel K CaldareraArgentinaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair G MaletArgentinaXuxue Feng UNQUALIFIED
Rodrigues C KolmetzCanadaIvan Magalhaes RENEWAL
Salvatore Z KuskoSpainAmy Elsner RENEWAL
Maisha H VenereGermanyIoni Bowcher PROPOSAL
Greenwood T BriddickIndiaIoni Bowcher PROPOSAL
Claire Y MorascaFranceBernardo Dominic NEGOTIATION
Jeanfrancois M PerinBrazilBernardo Dominic QUALIFIED
Jeanfrancois M SaylorsUnited KingdomElwin Sharvill QUALIFIED
Kaitlin B DoeItalyIvan Magalhaes QUALIFIED
Adams C SchemmerAustraliaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika X FollerJapan2026-06-08Feltz Printing Service QUALIFIED89Amy Elsner
1001Tony V GillianIndia2026-06-15King, Christopher A Esq RENEWAL44Ivan Magalhaes
1002Arvin O WhobreySpain2026-06-07Chemel, James L Cpa PROPOSAL71Bernardo Dominic
1003Kadeem X ChuiArgentina2026-06-08Rangoni Of Florence NEGOTIATION8Ioni Bowcher
1004Clifford I PoquetteItaly2026-06-20Rousseaux, Michael Esq NEW73Xuxue Feng
1005Jeanfrancois V SchemmerJapan2026-06-23King, Christopher A Esq NEW48Onyama Limba
1006Kadeem A CaudyJapan2026-06-23Buckley Miller Wright UNQUALIFIED11Bernardo Dominic
1007Nicolas K ShinkoUnited Kingdom2026-06-17Benton, John B Jr QUALIFIED44Ioni Bowcher
1008Costa K MorascaIndia2026-06-14Truhlar And Truhlar Attys RENEWAL98Elwin Sharvill
1009Maisha N CaudySpain2026-06-26Morlong Associates UNQUALIFIED30Bernardo Dominic
1010Antonio J CaldareraFrance2026-06-21Chemel, James L Cpa QUALIFIED64Anna Fali
1011Aruna W IturbideBrazil2026-06-17King, Christopher A Esq NEW92Xuxue Feng
1012Izzy Y KuskoUnited Kingdom2026-06-22Chanay, Jeffrey A Esq RENEWAL44Bernardo Dominic
1013Jones V GauchoUnited Kingdom2026-07-04Chapman, Ross E Esq QUALIFIED47Bernardo Dominic
1014Murillo K NestleIndia2026-07-02Printing Dimensions QUALIFIED44Elwin Sharvill
1015Munro G BologniaUnited Kingdom2026-06-12Printing Dimensions PROPOSAL46Ivan Magalhaes
1016Francesco C GlickJapan2026-06-29Commercial Press PROPOSAL73Elwin Sharvill
1017Ivar C MacleadFrance2026-06-13Morlong Associates PROPOSAL15Bernardo Dominic
1018Aika C KolmetzRussia2026-06-27Rousseaux, Michael Esq QUALIFIED5Onyama Limba
1019Darci P ShinkoUnited Kingdom2026-06-23Chapman, Ross E Esq NEGOTIATION21Amy Elsner
1020Octavia T VocelkaCanada2026-06-29Chapman, Ross E Esq NEGOTIATION2Elwin Sharvill
1021Leon B FollerSpain2026-06-08Chemel, James L Cpa PROPOSAL80Bernardo Dominic
1022Antonio Z FlosiBrazil2026-06-12Buckley Miller Wright RENEWAL29Ioni Bowcher
1023Antonio F GlickBrazil2026-06-12Benton, John B Jr UNQUALIFIED85Asiya Javayant
1024Faith S ButtUnited Kingdom2026-06-18Chapman, Ross E Esq PROPOSAL7Xuxue Feng
1025Mujtaba C WieserJapan2026-07-04Rousseaux, Michael Esq QUALIFIED15Stephen Shaw
1026Aruna I BowleyRussia2026-06-30Benton, John B Jr UNQUALIFIED45Ioni Bowcher
1027Arvin O GauchoUnited Kingdom2026-06-19Benton, John B Jr RENEWAL14Bernardo Dominic
1028David M BowleyBrazil2026-06-26Truhlar And Truhlar Attys NEW63Elwin Sharvill
1029Maria T BriddickIndia2026-06-13Benton, John B Jr NEGOTIATION18Ioni Bowcher
1030Faith E MaletFrance2026-06-11King, Christopher A Esq UNQUALIFIED87Onyama Limba
1031Smith C VocelkaItaly2026-07-04Rousseaux, Michael Esq QUALIFIED21Asiya Javayant
1032Faith R ButtArgentina2026-06-13King, Christopher A Esq UNQUALIFIED6Asiya Javayant
1033Deepesh U MacleadIndia2026-06-25Rousseaux, Michael Esq NEW82Asiya Javayant
1034Jones D ChuiSpain2026-06-30Chemel, James L Cpa UNQUALIFIED67Anna Fali
1035Ivar F CampainAustralia2026-06-15Morlong Associates NEGOTIATION11Onyama Limba
1036Salvatore N SlusarskiBrazil2026-07-05Feiner Bros NEGOTIATION40Bernardo Dominic
1037Darci Y MorascaJapan2026-06-29Buckley Miller Wright PROPOSAL72Asiya Javayant
1038Emily L DoeAustralia2026-06-11Morlong Associates QUALIFIED26Onyama Limba
1039Mujtaba Q RoysterSpain2026-07-04King, Christopher A Esq UNQUALIFIED83Anna Fali
1040Leon H MarrierCanada2026-06-27Rangoni Of Florence UNQUALIFIED77Bernardo Dominic
1041Greenwood I FlosiGermany2026-07-05Printing Dimensions RENEWAL94Bernardo Dominic
1042Arvin C DarakjyArgentina2026-06-21Chapman, Ross E Esq UNQUALIFIED80Bernardo Dominic
1043Jefferson I MacleadGermany2026-06-26Printing Dimensions NEGOTIATION95Anna Fali
1044Jefferson Y CaudyGermany2026-06-12Feiner Bros NEW57Asiya Javayant
1045Ricardo J DilliardCanada2026-07-04Rangoni Of Florence RENEWAL37Bernardo Dominic
1046Smith L GlickGermany2026-06-16Rangoni Of Florence NEW42Xuxue Feng
1047Sinclair A WaycottArgentina2026-06-14King, Christopher A Esq RENEWAL0Stephen Shaw
1048Leon P ChuiAustralia2026-06-07Morlong Associates RENEWAL96Anna Fali
1049Ivar O RutaAustralia2026-06-08Dorl, James J Esq NEW48Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Murillo B ButtGermanyIoni Bowcher NEGOTIATION
Mayumi A MaletGermanyElwin Sharvill NEGOTIATION
Francesco Q ChuiRussiaBernardo Dominic NEGOTIATION
Chavez C GlickArgentinaIvan Magalhaes UNQUALIFIED
Deepesh L GlickJapanIvan Magalhaes PROPOSAL
Sinclair R MaletBrazilAnna Fali UNQUALIFIED
Kadeem V BowleyJapanBernardo Dominic RENEWAL
Tony F CaldareraBrazilElwin Sharvill RENEWAL
Ivar B KolmetzIndiaOnyama Limba RENEWAL
Stacey X MacleadGermanyStephen Shaw NEW
Darci V ButtSpainAsiya Javayant PROPOSAL
Deepesh K SaylorsCanadaAsiya Javayant NEW
Tony R DoeBrazilBernardo Dominic NEGOTIATION
Munro H MaletRussiaOnyama Limba NEGOTIATION
Silvio Z ShinkoJapanAnna Fali NEGOTIATION
Ashley H CaudyAustraliaOnyama Limba QUALIFIED
Maria K WhobreyAustraliaAsiya Javayant PROPOSAL
David X MarrierBrazilAsiya Javayant NEW
Ivar Z CaudyBrazilAsiya Javayant NEW
Aditya J SlusarskiArgentinaIoni Bowcher NEGOTIATION
Murillo U ChuiCanadaAsiya Javayant QUALIFIED
Ricardo A AlbaresCanadaIoni Bowcher RENEWAL
Greenwood D OstroskyRussiaXuxue Feng NEW
Julie V StensethRussiaOnyama Limba PROPOSAL
Jones H FigeroaArgentinaOnyama Limba NEW
Arvin S MarrierJapanAsiya Javayant RENEWAL
Ricardo W GillianSpainBernardo Dominic NEW
James C MaletFranceIoni Bowcher NEGOTIATION
Sinclair Q RoysterIndiaAmy Elsner UNQUALIFIED
Alejandro H OldroydUnited KingdomOnyama Limba RENEWAL
Kaitlin Z OldroydItalyElwin Sharvill QUALIFIED
Rodrigues F GillianGermanyBernardo Dominic RENEWAL
Kaitlin P NestleArgentinaIoni Bowcher NEGOTIATION
Adams Z BologniaSpainIvan Magalhaes NEGOTIATION
Jeanfrancois W NestleJapanBernardo Dominic RENEWAL
Jennifer H InouyeArgentinaAsiya Javayant NEGOTIATION
Costa J NestleCanadaAnna Fali RENEWAL
Leon J SaylorsItalyAsiya Javayant NEGOTIATION
Mujtaba P TollnerCanadaAnna Fali RENEWAL
Isabel S DoeArgentinaElwin Sharvill QUALIFIED
Rodrigues B FerenczRussiaIvan Magalhaes RENEWAL
Ricardo T CampainRussiaOnyama Limba UNQUALIFIED
Ivar U OldroydArgentinaOnyama Limba UNQUALIFIED
Jefferson N SergiAustraliaIoni Bowcher RENEWAL
Munro R MaletJapanStephen Shaw NEGOTIATION
Kaitlin W MacleadGermanyAmy Elsner QUALIFIED
Chavez U CaldareraBrazilIoni Bowcher NEW
James U OstroskyFranceAsiya Javayant UNQUALIFIED
Jefferson P MacleadIndiaElwin Sharvill UNQUALIFIED
Adams Y TollnerFranceAmy Elsner NEGOTIATION
Frozen Columns
Name
Cody Q Marrier
Kadeem C Darakjy
Nicolas G Bowley
Faith C Campain
Salvatore Z Stockham
Kaitlin Z Vocelka
Antonio K Wieser
Clifford O Ferencz
Kaitlin Q Inouye
Darci O Kusko
James K Glick
Aditya S Malet
Julie R Schemmer
Deepesh W Poquette
Leja M Waycott
Mujtaba G Morasca
Julie M Waycott
Jefferson J Garufi
Julie N Flosi
Adams K Tollner
Jennifer Z Perin
Misaki L Iturbide
Mujtaba S Rim
Octavia B Waycott
Murillo Q Rulapaugh
Claire Y Foller
Rodrigues E Albares
Silvio X Ferencz
Salvatore A Vocelka
Leja P Glick
Silvio R Paprocki
Rodrigues T Tollner
Chavez J Figeroa
Leja D Foller
Kadeem C Garufi
Darci L Briddick
Claire F Slusarski
Arvin Q Malet
Kaitlin T Caldarera
Wickens S Campain
Adams S Malet
Leon H Campain
Greenwood A Inouye
Emily G Caldarera
Isabel O Maclead
Aditya L Albares
Silvio Q Chui
Aruna E Kusko
David O Nicka
Munro W Garufi
IdCountryDate
1000India2026-06-10
1001United Kingdom2026-06-07
1002Canada2026-06-12
1003Brazil2026-07-06
1004United Kingdom2026-06-22
1005Argentina2026-06-17
1006Australia2026-06-09
1007France2026-07-04
1008India2026-06-29
1009Canada2026-06-16
1010United Kingdom2026-06-25
1011France2026-06-27
1012United Kingdom2026-06-19
1013Germany2026-06-13
1014Italy2026-06-29
1015Canada2026-07-01
1016Australia2026-06-08
1017Brazil2026-06-09
1018Spain2026-06-12
1019Australia2026-07-01
1020Japan2026-06-21
1021Canada2026-06-29
1022Australia2026-06-08
1023Brazil2026-06-21
1024United Kingdom2026-06-12
1025Germany2026-06-12
1026Germany2026-06-27
1027France2026-06-22
1028Japan2026-06-19
1029Spain2026-07-03
1030Italy2026-06-13
1031Japan2026-07-04
1032Russia2026-06-13
1033Argentina2026-06-27
1034Argentina2026-06-07
1035Spain2026-07-03
1036United Kingdom2026-06-11
1037Italy2026-06-30
1038Argentina2026-06-11
1039Italy2026-06-19
1040Argentina2026-06-17
1041France2026-07-04
1042Brazil2026-06-11
1043Italy2026-06-11
1044Australia2026-06-29
1045Australia2026-07-03
1046Spain2026-06-11
1047Italy2026-06-08
1048Argentina2026-06-29
1049United Kingdom2026-06-25

On-Demand Data

NameIdCountryDate
Emily E Ostrosky1000Germany2026-07-01
Nicolas M Shinko1001Argentina2026-06-24
Silvio J Poquette1002India2026-06-21
Stacey C Nicka1003Canada2026-06-12
Morrow V Stenseth1004France2026-06-12
Tony N Inouye1005Italy2026-07-04
Octavia L Ruta1006Australia2026-06-15
Izzy D Chui1007Spain2026-06-14
Maria G Figeroa1008Canada2026-06-24
Kadeem H Garufi1009Argentina2026-06-26
Darci S Maclead1010Spain2026-06-27
Octavia F Marrier1011Germany2026-06-07
James A Whobrey1012Brazil2026-06-26
Greenwood S Schemmer1013Japan2026-06-10
Julie D Malet1014Germany2026-07-01
Munro G Saylors1015Brazil2026-06-25
Salvatore W Stockham1016India2026-06-14
Emily C Rim1017Japan2026-06-12
Silvio L Iturbide1018Brazil2026-06-30
Misaki X Tollner1019India2026-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya O ChuiSpainXuxue Feng PROPOSAL
Julie J TollnerRussiaAnna Fali PROPOSAL
Octavia H DarakjyAustraliaAsiya Javayant NEGOTIATION
Antonio D MaletJapanAnna Fali PROPOSAL
Smith I PoquetteItalyAsiya Javayant PROPOSAL
Salvatore N IturbideFranceIoni Bowcher NEW
Stacey C PoquetteFranceAmy Elsner QUALIFIED
James G DilliardFranceIoni Bowcher NEW
Cody Z VocelkaBrazilIvan Magalhaes QUALIFIED
Ricardo I GarufiGermanyOnyama Limba UNQUALIFIED
Greenwood V TollnerSpainAmy Elsner QUALIFIED
Aditya Z CaldareraFranceIoni Bowcher UNQUALIFIED
Mujtaba X WhobreyFranceElwin Sharvill PROPOSAL
Jeanfrancois C BowleyCanadaAmy Elsner PROPOSAL
Aika P DarakjyIndiaOnyama Limba NEW
Morrow Z FollerSpainStephen Shaw NEGOTIATION
Kaitlin A FollerIndiaBernardo Dominic NEGOTIATION
Chavez L AlbaresRussiaStephen Shaw UNQUALIFIED
Morrow I PerinIndiaAnna Fali UNQUALIFIED
Darci R BologniaRussiaStephen Shaw NEGOTIATION
Smith Y GauchoRussiaOnyama Limba QUALIFIED
Tony J FollerArgentinaAmy Elsner RENEWAL
Julie A ButtUnited KingdomOnyama Limba NEGOTIATION
Ivar X FigeroaItalyIoni Bowcher UNQUALIFIED
Francesco E DoeArgentinaIoni Bowcher NEW
Clifford E SergiCanadaIoni Bowcher RENEWAL
Leon K OstroskyBrazilBernardo Dominic RENEWAL
Morrow F PoquetteAustraliaAmy Elsner NEW
Isabel V InouyeIndiaBernardo Dominic RENEWAL
Claire Q SlusarskiIndiaAnna Fali RENEWAL
Cody W MacleadIndiaAmy Elsner RENEWAL
Julie D GlickGermanyAnna Fali NEGOTIATION
Smith O MaletUnited KingdomElwin Sharvill RENEWAL
Leon V FerenczFranceOnyama Limba RENEWAL
Juan M NickaUnited KingdomIvan Magalhaes PROPOSAL
Isabel H ChuiSpainXuxue Feng NEW
Rodrigues M InouyeIndiaElwin Sharvill RENEWAL
Ashley U FollerBrazilAsiya Javayant NEW
Adams C MarrierJapanOnyama Limba QUALIFIED
Ashley V CaudyCanadaAnna Fali UNQUALIFIED

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