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
Faith A ShinkoIndiaElwin Sharvill QUALIFIED
Kaitlin F GarufiUnited KingdomElwin Sharvill QUALIFIED
Clifford C DoeJapanXuxue Feng QUALIFIED
Mujtaba F AlbaresBrazilIvan Magalhaes QUALIFIED
Leja L FollerSpainIvan Magalhaes NEGOTIATION
Aditya K GarufiUnited KingdomXuxue Feng NEW
Francesco M WhobreyItalyIvan Magalhaes QUALIFIED
Sinclair A KuskoAustraliaXuxue Feng NEGOTIATION
Mayumi C FlosiIndiaAsiya Javayant NEGOTIATION
Alejandro F WaycottAustraliaAnna Fali NEW
Darci P MaletItalyElwin Sharvill NEW
Nicolas K IturbideCanadaIoni Bowcher NEW
Francesco F BowleyJapanBernardo Dominic UNQUALIFIED
David R ButtItalyIoni Bowcher RENEWAL
Misaki T GarufiUnited KingdomStephen Shaw QUALIFIED
Smith A DarakjySpainAmy Elsner QUALIFIED
Morrow L WaycottBrazilAsiya Javayant NEGOTIATION
Leon V StensethGermanyAnna Fali NEW
Claire H GauchoUnited KingdomAsiya Javayant NEW
Aditya O SlusarskiCanadaOnyama Limba PROPOSAL
Maria O StensethRussiaBernardo Dominic NEW
Tony C FerenczFranceIoni Bowcher NEGOTIATION
Tony C DarakjyRussiaIvan Magalhaes PROPOSAL
Ashley A AmigonGermanyIvan Magalhaes NEGOTIATION
Kadeem L GarufiJapanIvan Magalhaes RENEWAL
Faith N MarrierItalyAmy Elsner NEGOTIATION
Emily F GillianRussiaBernardo Dominic NEGOTIATION
Leon K SchemmerAustraliaBernardo Dominic NEW
Nicolas F IturbideRussiaBernardo Dominic UNQUALIFIED
Darci V IturbideCanadaElwin Sharvill UNQUALIFIED
Maisha G RutaArgentinaOnyama Limba UNQUALIFIED
Juan Z MacleadJapanAnna Fali PROPOSAL
Munro W FollerBrazilAsiya Javayant NEW
Aruna M WaycottBrazilXuxue Feng PROPOSAL
Clifford G RoysterAustraliaIoni Bowcher NEGOTIATION
Johnson S GauchoRussiaAmy Elsner NEGOTIATION
Ricardo G MaletArgentinaIvan Magalhaes PROPOSAL
Juan V RoysterBrazilAnna Fali UNQUALIFIED
Ricardo O VenereArgentinaBernardo Dominic QUALIFIED
James P FollerFranceAsiya Javayant NEW
Chavez Z CaldareraUnited KingdomAmy Elsner NEW
Deepesh N GlickIndiaAmy Elsner RENEWAL
Kaitlin W SchemmerCanadaAnna Fali NEW
Kaitlin Y IturbideGermanyAnna Fali QUALIFIED
Emily I GauchoFranceIoni Bowcher PROPOSAL
Sinclair P KuskoJapanAnna Fali RENEWAL
Claire P MarrierGermanyAsiya Javayant NEW
Morrow Q AmigonIndiaAsiya Javayant RENEWAL
Deepesh V DoeItalyIoni Bowcher PROPOSAL
Jones W DoeSpainBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi A MacleadItalyXuxue Feng QUALIFIED
Leja E FerenczItalyAnna Fali PROPOSAL
Aditya B DarakjyItalyStephen Shaw NEW
Sinclair D DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Adams U FigeroaCanadaBernardo Dominic NEW
Aruna W MarrierRussiaOnyama Limba QUALIFIED
James P ChuiArgentinaElwin Sharvill PROPOSAL
Emily P GillianBrazilElwin Sharvill NEW
Maisha N CaudyJapanXuxue Feng NEW
Ricardo R KuskoSpainBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford M AmigonRussia2026-07-20Benton, John B Jr PROPOSAL96Xuxue Feng
1001Ricardo K SaylorsItaly2026-07-24Benton, John B Jr PROPOSAL52Onyama Limba
1002Johnson D RoysterCanada2026-07-21Dorl, James J Esq PROPOSAL36Anna Fali
1003Smith V ButtArgentina2026-07-18Rangoni Of Florence NEW76Ivan Magalhaes
1004Jefferson A AmigonArgentina2026-07-28Rousseaux, Michael Esq UNQUALIFIED37Xuxue Feng
1005Nicolas E AmigonIndia2026-07-02Buckley Miller Wright NEGOTIATION60Onyama Limba
1006James C SaylorsUnited Kingdom2026-07-20Rangoni Of Florence PROPOSAL65Ioni Bowcher
1007Francesco F PoquetteItaly2026-07-02Truhlar And Truhlar Attys PROPOSAL86Bernardo Dominic
1008Deepesh U BowleyBrazil2026-07-10King, Christopher A Esq NEW0Stephen Shaw
1009Aika P DilliardCanada2026-07-07Printing Dimensions RENEWAL19Amy Elsner
1010Ashley U GauchoSpain2026-07-01Buckley Miller Wright QUALIFIED68Amy Elsner
1011Munro B OldroydArgentina2026-07-26Commercial Press NEGOTIATION25Ivan Magalhaes
1012Ashley T DilliardJapan2026-07-04Chapman, Ross E Esq NEGOTIATION6Asiya Javayant
1013Jeanfrancois K TollnerRussia2026-07-21Commercial Press NEGOTIATION13Onyama Limba
1014Nicolas R RimFrance2026-07-19Chemel, James L Cpa QUALIFIED90Ivan Magalhaes
1015Isabel I MorascaFrance2026-07-21Truhlar And Truhlar Attys NEW60Onyama Limba
1016Nicolas G NestleRussia2026-07-11Feiner Bros QUALIFIED48Elwin Sharvill
1017Salvatore M GlickIndia2026-07-17Chanay, Jeffrey A Esq NEGOTIATION38Amy Elsner
1018Greenwood Q WaycottJapan2026-07-25Chemel, James L Cpa NEGOTIATION25Onyama Limba
1019Salvatore M WaycottIndia2026-07-24Commercial Press NEW17Onyama Limba
1020Isabel R RutaUnited Kingdom2026-07-26Chapman, Ross E Esq PROPOSAL77Anna Fali
1021Deepesh F KolmetzArgentina2026-07-16Chemel, James L Cpa NEGOTIATION36Anna Fali
1022Faith N NestleRussia2026-07-11Chemel, James L Cpa PROPOSAL27Ioni Bowcher
1023Leja N MarrierBrazil2026-07-25Commercial Press UNQUALIFIED82Ioni Bowcher
1024Arvin N SlusarskiSpain2026-07-25Chanay, Jeffrey A Esq QUALIFIED73Amy Elsner
1025Jefferson X KuskoItaly2026-07-30King, Christopher A Esq UNQUALIFIED5Onyama Limba
1026Faith G DilliardArgentina2026-07-21Printing Dimensions QUALIFIED93Ivan Magalhaes
1027Faith R MaletCanada2026-07-25King, Christopher A Esq UNQUALIFIED16Bernardo Dominic
1028Antonio B InouyeRussia2026-07-09Benton, John B Jr NEGOTIATION52Amy Elsner
1029Alejandro O MacleadIndia2026-07-24Printing Dimensions QUALIFIED51Anna Fali
1030James H FerenczJapan2026-07-28Commercial Press QUALIFIED71Amy Elsner
1031Ricardo Z WaycottSpain2026-07-04Chemel, James L Cpa QUALIFIED31Bernardo Dominic
1032Misaki F DoeItaly2026-07-19Buckley Miller Wright QUALIFIED83Onyama Limba
1033Costa H SaylorsGermany2026-07-01Truhlar And Truhlar Attys NEW39Asiya Javayant
1034Alejandro C FollerCanada2026-07-09Chemel, James L Cpa PROPOSAL80Amy Elsner
1035Ricardo F AmigonAustralia2026-07-26Morlong Associates UNQUALIFIED78Ivan Magalhaes
1036Greenwood O GillianAustralia2026-07-08Rousseaux, Michael Esq PROPOSAL1Ioni Bowcher
1037Stacey L SergiUnited Kingdom2026-07-02Morlong Associates UNQUALIFIED83Anna Fali
1038Johnson H CaldareraBrazil2026-07-06Printing Dimensions PROPOSAL98Amy Elsner
1039David B KolmetzSpain2026-07-29Dorl, James J Esq QUALIFIED81Ivan Magalhaes
1040Greenwood F VenereRussia2026-07-18Rangoni Of Florence UNQUALIFIED48Ioni Bowcher
1041Misaki V AmigonSpain2026-07-29Truhlar And Truhlar Attys QUALIFIED50Asiya Javayant
1042Wickens M SlusarskiFrance2026-07-06Chapman, Ross E Esq NEGOTIATION57Stephen Shaw
1043Wickens R DilliardCanada2026-07-10Chanay, Jeffrey A Esq RENEWAL8Bernardo Dominic
1044Rodrigues J AmigonArgentina2026-07-18Morlong Associates QUALIFIED55Elwin Sharvill
1045Morrow G SaylorsIndia2026-07-22Buckley Miller Wright NEW64Ioni Bowcher
1046Stacey Y CaldareraBrazil2026-07-25Feltz Printing Service PROPOSAL77Onyama Limba
1047Juan Q SergiGermany2026-07-24Rousseaux, Michael Esq NEGOTIATION50Ioni Bowcher
1048Antonio E PerinJapan2026-07-15Rousseaux, Michael Esq RENEWAL36Onyama Limba
1049James A VocelkaRussia2026-07-20Chemel, James L Cpa NEW5Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Juan R MorascaItalyIoni Bowcher UNQUALIFIED
Jeanfrancois P MorascaJapanElwin Sharvill PROPOSAL
Rodrigues I CampainIndiaOnyama Limba UNQUALIFIED
Tony P AlbaresRussiaAsiya Javayant UNQUALIFIED
Juan B AmigonBrazilElwin Sharvill RENEWAL
Deepesh O KolmetzGermanyAmy Elsner QUALIFIED
Salvatore Y AlbaresItalyElwin Sharvill QUALIFIED
Kaitlin H PaprockiAustraliaStephen Shaw PROPOSAL
Tony Z FerenczRussiaOnyama Limba NEW
Deepesh V NestleArgentinaBernardo Dominic NEGOTIATION
Octavia A DoeJapanAmy Elsner QUALIFIED
David X ButtRussiaIvan Magalhaes RENEWAL
Munro G NickaAustraliaBernardo Dominic RENEWAL
Johnson B WaycottArgentinaAnna Fali NEW
Aditya S IturbideRussiaIoni Bowcher QUALIFIED
Claire L NickaSpainAmy Elsner PROPOSAL
Johnson P PaprockiArgentinaXuxue Feng NEW
Munro E GillianJapanAsiya Javayant RENEWAL
Izzy I StensethIndiaBernardo Dominic NEGOTIATION
Silvio W CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Cody M SaylorsGermanyElwin Sharvill NEGOTIATION
Julie D CampainIndiaStephen Shaw NEW
Clifford G MaletFranceStephen Shaw NEW
Misaki P DarakjyCanadaAmy Elsner NEW
Morrow A DilliardIndiaXuxue Feng RENEWAL
Munro C KolmetzJapanOnyama Limba QUALIFIED
Munro S MorascaIndiaIvan Magalhaes NEGOTIATION
Antonio I StensethItalyOnyama Limba QUALIFIED
Wickens Q VocelkaAustraliaAmy Elsner RENEWAL
Julie V WhobreyRussiaAnna Fali NEGOTIATION
Leja N WaycottBrazilBernardo Dominic UNQUALIFIED
Isabel V GauchoJapanAmy Elsner PROPOSAL
Chavez L DarakjyFranceIoni Bowcher UNQUALIFIED
Morrow F StensethIndiaElwin Sharvill QUALIFIED
Morrow R GillianJapanElwin Sharvill NEGOTIATION
Stacey M CaldareraSpainIvan Magalhaes PROPOSAL
Munro X ButtArgentinaBernardo Dominic NEGOTIATION
Munro D ButtAustraliaElwin Sharvill NEW
Arvin P DarakjyItalyIoni Bowcher RENEWAL
Jefferson G GlickJapanAsiya Javayant QUALIFIED
Misaki Q FerenczFranceAmy Elsner QUALIFIED
Sinclair O PaprockiJapanElwin Sharvill NEGOTIATION
Nicolas T MarrierBrazilAmy Elsner NEGOTIATION
Wickens N SchemmerAustraliaIoni Bowcher PROPOSAL
Aika T PoquetteArgentinaOnyama Limba PROPOSAL
James Y NickaUnited KingdomBernardo Dominic PROPOSAL
Tony U DarakjyArgentinaBernardo Dominic UNQUALIFIED
Smith F SchemmerArgentinaOnyama Limba UNQUALIFIED
Alejandro D KolmetzGermanyIvan Magalhaes QUALIFIED
Kaitlin E GillianCanadaAsiya Javayant RENEWAL
Frozen Columns
Name
Stacey P Campain
Antonio R Vocelka
Jennifer X Saylors
Salvatore P Inouye
Wickens Y Stockham
Ivar H Campain
Salvatore J Glick
Isabel O Nicka
Deepesh V Glick
Nicolas D Rim
Sinclair F Tollner
Isabel C Caldarera
Silvio B Caudy
Kaitlin H Morasca
Julie I Vocelka
Silvio L Sergi
Tony T Glick
Chavez H Rim
Wickens O Marrier
Tony P Caudy
Mayumi P Poquette
Kadeem J Caldarera
Mujtaba H Stockham
Faith P Morasca
Costa G Paprocki
Jefferson A Kusko
Julie A Kolmetz
Kadeem D Tollner
Sinclair O Ferencz
Aditya A Paprocki
Leja A Glick
Maria Y Caudy
Munro K Albares
Ashley R Albares
Sinclair P Caldarera
Morrow D Caudy
Sinclair N Stockham
Ashley I Nicka
Aika R Ruta
Maisha C Sergi
Greenwood M Ferencz
Antonio F Foller
Tony C Foller
Morrow O Nicka
Stacey M Garufi
Mayumi M Darakjy
Tony X Garufi
Leja O Marrier
Chavez D Inouye
Octavia B Flosi
IdCountryDate
1000France2026-07-18
1001Italy2026-07-20
1002Argentina2026-07-21
1003Australia2026-07-14
1004Canada2026-07-03
1005Brazil2026-07-24
1006France2026-07-15
1007Australia2026-07-14
1008Japan2026-07-22
1009France2026-07-12
1010France2026-07-08
1011France2026-07-19
1012Japan2026-07-11
1013Germany2026-07-13
1014Australia2026-07-20
1015Japan2026-07-13
1016France2026-07-13
1017France2026-07-29
1018Canada2026-07-30
1019Spain2026-07-15
1020Canada2026-07-28
1021Russia2026-07-08
1022United Kingdom2026-07-01
1023France2026-07-24
1024Japan2026-07-09
1025Australia2026-07-05
1026Canada2026-07-21
1027Canada2026-07-18
1028Russia2026-07-18
1029Japan2026-07-10
1030Australia2026-07-07
1031Brazil2026-07-09
1032Russia2026-07-14
1033Japan2026-07-06
1034France2026-07-28
1035Italy2026-07-01
1036Italy2026-07-14
1037France2026-07-21
1038Australia2026-07-08
1039United Kingdom2026-07-30
1040France2026-07-05
1041France2026-07-16
1042Japan2026-07-08
1043India2026-07-12
1044Germany2026-07-22
1045Japan2026-07-18
1046Canada2026-07-14
1047Italy2026-07-01
1048Canada2026-07-17
1049United Kingdom2026-07-19

On-Demand Data

NameIdCountryDate
Faith W Ferencz1000Argentina2026-07-11
Aika H Ferencz1001Brazil2026-07-24
Johnson X Garufi1002Canada2026-07-25
Kadeem X Foller1003Japan2026-07-19
Aditya L Caudy1004Canada2026-07-24
David R Nestle1005United Kingdom2026-07-06
Mujtaba L Saylors1006Japan2026-07-10
Izzy U Flosi1007Japan2026-07-18
Leon J Glick1008Canada2026-07-12
Aika X Gaucho1009Germany2026-07-14
Isabel O Maclead1010India2026-07-23
Juan Y Darakjy1011Japan2026-07-16
Smith R Dilliard1012Japan2026-07-16
Clifford D Nestle1013Japan2026-07-16
Darci X Marrier1014Japan2026-07-03
Leon Q Ferencz1015Argentina2026-07-02
David D Wieser1016Australia2026-07-29
Octavia E Tollner1017France2026-07-27
Leja W Paprocki1018Germany2026-07-19
Jeanfrancois K Ostrosky1019Canada2026-07-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James Y StensethIndiaElwin Sharvill PROPOSAL
Alejandro T CaudyItalyIvan Magalhaes PROPOSAL
Misaki P CaldareraJapanIoni Bowcher QUALIFIED
Greenwood Q IturbideFranceBernardo Dominic UNQUALIFIED
Silvio R InouyeArgentinaXuxue Feng UNQUALIFIED
Salvatore C FerenczArgentinaXuxue Feng UNQUALIFIED
Stacey Q RulapaughGermanyStephen Shaw PROPOSAL
Adams O AmigonItalyBernardo Dominic RENEWAL
Maria F RoysterRussiaOnyama Limba PROPOSAL
David E AlbaresUnited KingdomIvan Magalhaes PROPOSAL
Salvatore N DilliardItalyAsiya Javayant QUALIFIED
Arvin P CaudyIndiaElwin Sharvill PROPOSAL
Costa G PerinAustraliaStephen Shaw PROPOSAL
Munro A FlosiArgentinaIvan Magalhaes NEGOTIATION
Deepesh K InouyeGermanyXuxue Feng NEW
Greenwood O IturbideArgentinaIvan Magalhaes PROPOSAL
Johnson D MacleadFranceAsiya Javayant NEGOTIATION
Aruna T StensethItalyIvan Magalhaes QUALIFIED
Tony B ShinkoFranceIoni Bowcher UNQUALIFIED
Juan R StockhamRussiaIoni Bowcher NEW
Isabel L MarrierSpainIoni Bowcher PROPOSAL
Izzy Q KolmetzCanadaIvan Magalhaes RENEWAL
Jones A MacleadRussiaStephen Shaw QUALIFIED
Jones U NestleItalyElwin Sharvill QUALIFIED
Silvio E FigeroaItalyXuxue Feng NEW
Aruna K WaycottFranceOnyama Limba NEGOTIATION
Morrow Y GillianGermanyIoni Bowcher NEW
Arvin W DilliardIndiaStephen Shaw QUALIFIED
Octavia C ShinkoArgentinaIvan Magalhaes PROPOSAL
Kadeem B TollnerUnited KingdomOnyama Limba UNQUALIFIED
Morrow N RoysterIndiaXuxue Feng RENEWAL
Kaitlin I FigeroaRussiaStephen Shaw RENEWAL
Aditya P NestleFranceAsiya Javayant NEGOTIATION
Aruna I KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Misaki T SergiItalyOnyama Limba NEGOTIATION
Salvatore X OstroskyJapanXuxue Feng RENEWAL
Salvatore F FlosiSpainStephen Shaw RENEWAL
Francesco O MorascaFranceBernardo Dominic QUALIFIED
Greenwood I OstroskyJapanAsiya Javayant PROPOSAL
Munro M BowleyArgentinaAnna Fali 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>