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
Costa Y RoysterAustraliaXuxue Feng NEGOTIATION
Salvatore J RimGermanyElwin Sharvill RENEWAL
Costa G WieserSpainXuxue Feng NEGOTIATION
Aruna B SergiItalyAnna Fali NEGOTIATION
Tony A MacleadBrazilIoni Bowcher PROPOSAL
Stacey R StockhamItalyStephen Shaw QUALIFIED
Ashley D PerinAustraliaAnna Fali PROPOSAL
Munro S SlusarskiUnited KingdomAmy Elsner QUALIFIED
Murillo F StensethFranceOnyama Limba NEGOTIATION
Clifford U ButtItalyBernardo Dominic NEGOTIATION
Juan R NestleRussiaAnna Fali NEGOTIATION
Ivar Z RoysterUnited KingdomBernardo Dominic RENEWAL
David H CampainRussiaIoni Bowcher UNQUALIFIED
Kaitlin I VenereFranceStephen Shaw RENEWAL
Juan Q FollerBrazilAsiya Javayant QUALIFIED
Deepesh V IturbideJapanAmy Elsner UNQUALIFIED
Emily U AlbaresAustraliaIoni Bowcher RENEWAL
David S CaldareraUnited KingdomAnna Fali NEGOTIATION
Rodrigues F ButtUnited KingdomIvan Magalhaes NEGOTIATION
Chavez Z FollerGermanyElwin Sharvill UNQUALIFIED
Silvio A BologniaAustraliaIoni Bowcher NEGOTIATION
Wickens D ButtItalyXuxue Feng RENEWAL
Aruna Z CampainItalyAsiya Javayant NEGOTIATION
Kadeem G AlbaresGermanyXuxue Feng RENEWAL
Octavia R StockhamSpainIvan Magalhaes QUALIFIED
Maria F PaprockiRussiaIvan Magalhaes NEGOTIATION
Misaki N RoysterFranceStephen Shaw QUALIFIED
Stacey Z RulapaughRussiaXuxue Feng RENEWAL
Rodrigues U SergiAustraliaStephen Shaw QUALIFIED
Johnson J RimRussiaElwin Sharvill PROPOSAL
Clifford M CaldareraIndiaBernardo Dominic NEGOTIATION
Munro T FerenczUnited KingdomElwin Sharvill QUALIFIED
Ashley P StensethIndiaElwin Sharvill NEGOTIATION
Maisha N ChuiGermanyIvan Magalhaes QUALIFIED
Ivar D RoysterCanadaOnyama Limba NEGOTIATION
Cody R KuskoGermanyIvan Magalhaes NEW
Murillo D TollnerArgentinaOnyama Limba QUALIFIED
Aditya N CampainFranceIvan Magalhaes NEGOTIATION
Claire Y FigeroaGermanyIvan Magalhaes QUALIFIED
Smith C VocelkaCanadaStephen Shaw UNQUALIFIED
Salvatore W BologniaUnited KingdomIoni Bowcher UNQUALIFIED
Costa S SaylorsItalyAmy Elsner QUALIFIED
Adams U FigeroaUnited KingdomIoni Bowcher RENEWAL
Jefferson H BologniaIndiaStephen Shaw RENEWAL
Salvatore W CaudyArgentinaIvan Magalhaes QUALIFIED
Clifford P AmigonGermanyStephen Shaw RENEWAL
Antonio B MaletItalyAsiya Javayant NEW
Leon G RutaJapanIvan Magalhaes NEW
Stacey J ChuiRussiaElwin Sharvill RENEWAL
Emily K DarakjyCanadaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Octavia I SlusarskiItalyStephen Shaw PROPOSAL
Jones K GlickJapanIvan Magalhaes UNQUALIFIED
Morrow N SlusarskiSpainIvan Magalhaes RENEWAL
Maria L KolmetzItalyAnna Fali NEW
Munro X GauchoBrazilAnna Fali QUALIFIED
Octavia B DoeJapanStephen Shaw PROPOSAL
Jeanfrancois M CampainFranceXuxue Feng NEW
Julie J FlosiFranceAmy Elsner QUALIFIED
Misaki R MaletFranceAsiya Javayant RENEWAL
Juan F DilliardUnited KingdomAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson T FigeroaItaly2024-09-22Buckley Miller Wright UNQUALIFIED0Asiya Javayant
1001Sinclair J RutaSpain2024-09-17Commercial Press UNQUALIFIED69Amy Elsner
1002Tony I CaldareraItaly2024-09-10Commercial Press NEW51Elwin Sharvill
1003Smith C FerenczUnited Kingdom2024-09-01Chanay, Jeffrey A Esq RENEWAL90Elwin Sharvill
1004Mayumi Y MaletSpain2024-09-12Rangoni Of Florence NEGOTIATION92Asiya Javayant
1005Morrow J BriddickGermany2024-09-05Dorl, James J Esq NEW18Stephen Shaw
1006Silvio Y DarakjyBrazil2024-08-30Rangoni Of Florence UNQUALIFIED89Bernardo Dominic
1007Sinclair S VenereIndia2024-09-13Chanay, Jeffrey A Esq PROPOSAL76Bernardo Dominic
1008Adams A NickaAustralia2024-09-10Chemel, James L Cpa PROPOSAL26Xuxue Feng
1009Kaitlin E RulapaughIndia2024-09-20Rousseaux, Michael Esq PROPOSAL93Onyama Limba
1010Munro W SlusarskiRussia2024-09-12Morlong Associates NEGOTIATION91Stephen Shaw
1011Ivar W ButtBrazil2024-09-06Rangoni Of Florence PROPOSAL38Amy Elsner
1012Mujtaba U BowleyCanada2024-09-13Chapman, Ross E Esq PROPOSAL94Onyama Limba
1013Darci W DilliardFrance2024-09-24Morlong Associates QUALIFIED8Ioni Bowcher
1014Munro M PerinJapan2024-09-16Rousseaux, Michael Esq NEGOTIATION79Anna Fali
1015Aika N IturbideIndia2024-09-06Commercial Press NEW32Amy Elsner
1016Ivar P MorascaBrazil2024-09-20Dorl, James J Esq UNQUALIFIED39Amy Elsner
1017Leja B GauchoFrance2024-09-08Rangoni Of Florence PROPOSAL2Asiya Javayant
1018Leon S RulapaughBrazil2024-09-01Benton, John B Jr UNQUALIFIED33Elwin Sharvill
1019Cody F FollerRussia2024-09-10Feltz Printing Service UNQUALIFIED91Stephen Shaw
1020Mujtaba J StockhamJapan2024-09-02Feiner Bros NEW63Ivan Magalhaes
1021Jeanfrancois Y NestleAustralia2024-09-06Morlong Associates NEGOTIATION91Elwin Sharvill
1022Kaitlin Z PaprockiUnited Kingdom2024-09-02Chapman, Ross E Esq PROPOSAL78Elwin Sharvill
1023Mayumi N StockhamUnited Kingdom2024-09-03Rangoni Of Florence UNQUALIFIED24Ioni Bowcher
1024Murillo E CaldareraArgentina2024-09-24Chapman, Ross E Esq PROPOSAL6Ivan Magalhaes
1025Sinclair O GlickArgentina2024-09-14Truhlar And Truhlar Attys RENEWAL46Anna Fali
1026Sinclair Q StockhamItaly2024-09-08Commercial Press NEW25Xuxue Feng
1027Antonio F WieserRussia2024-08-28Feiner Bros NEW33Bernardo Dominic
1028Ricardo U IturbideItaly2024-08-30Printing Dimensions RENEWAL38Elwin Sharvill
1029Mujtaba J FerenczUnited Kingdom2024-09-04Rangoni Of Florence PROPOSAL3Stephen Shaw
1030Izzy H SaylorsIndia2024-09-06Rangoni Of Florence NEW54Stephen Shaw
1031Morrow F GlickUnited Kingdom2024-08-29Rangoni Of Florence NEW0Ioni Bowcher
1032Morrow U BowleyIndia2024-09-19Benton, John B Jr RENEWAL75Elwin Sharvill
1033Aditya F MorascaRussia2024-09-08Chemel, James L Cpa NEW76Bernardo Dominic
1034Octavia B FlosiBrazil2024-09-21Chapman, Ross E Esq UNQUALIFIED57Asiya Javayant
1035Johnson V SergiRussia2024-09-11Feiner Bros NEW88Stephen Shaw
1036Izzy F KolmetzJapan2024-08-29Truhlar And Truhlar Attys PROPOSAL94Anna Fali
1037Munro O BowleyIndia2024-09-22Feiner Bros RENEWAL7Anna Fali
1038Murillo P WieserItaly2024-09-05Truhlar And Truhlar Attys QUALIFIED53Xuxue Feng
1039Izzy H StockhamJapan2024-09-06Chanay, Jeffrey A Esq PROPOSAL98Ioni Bowcher
1040Adams P RoysterIndia2024-09-05Morlong Associates NEGOTIATION7Ivan Magalhaes
1041Izzy P BowleyBrazil2024-09-07Buckley Miller Wright NEGOTIATION39Xuxue Feng
1042Kadeem Z WaycottItaly2024-08-28Chapman, Ross E Esq QUALIFIED66Anna Fali
1043James C BriddickCanada2024-09-04Chanay, Jeffrey A Esq NEGOTIATION94Anna Fali
1044Isabel I DarakjyBrazil2024-09-09Rousseaux, Michael Esq UNQUALIFIED23Bernardo Dominic
1045Julie F SlusarskiItaly2024-09-04Buckley Miller Wright NEW63Ivan Magalhaes
1046Francesco V MarrierCanada2024-09-22Rousseaux, Michael Esq QUALIFIED50Ioni Bowcher
1047Adams J PerinUnited Kingdom2024-09-16Rangoni Of Florence QUALIFIED44Bernardo Dominic
1048Octavia W PerinCanada2024-09-26Truhlar And Truhlar Attys NEW78Onyama Limba
1049Alejandro A MarrierArgentina2024-09-16Feltz Printing Service PROPOSAL83Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Antonio X DoeItalyBernardo Dominic UNQUALIFIED
Juan K GlickRussiaBernardo Dominic PROPOSAL
Aruna D MacleadRussiaStephen Shaw PROPOSAL
Mayumi E GlickUnited KingdomIoni Bowcher PROPOSAL
Nicolas Y CaudyUnited KingdomIoni Bowcher QUALIFIED
Ivar O CampainRussiaElwin Sharvill NEGOTIATION
Morrow Q MorascaIndiaIvan Magalhaes QUALIFIED
Jennifer T StensethIndiaIoni Bowcher RENEWAL
Leon O VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Emily V MarrierSpainOnyama Limba PROPOSAL
Juan U RoysterItalyAmy Elsner RENEWAL
Nicolas M BologniaAustraliaOnyama Limba QUALIFIED
Izzy J WieserFranceXuxue Feng PROPOSAL
Deepesh X BriddickGermanyAsiya Javayant UNQUALIFIED
Johnson X TollnerJapanIoni Bowcher UNQUALIFIED
Mayumi S WaycottJapanOnyama Limba NEW
Aruna G WhobreyIndiaAmy Elsner QUALIFIED
Francesco Y VocelkaFranceStephen Shaw NEGOTIATION
Johnson U WaycottIndiaIoni Bowcher QUALIFIED
Ricardo P WhobreyBrazilAmy Elsner UNQUALIFIED
Aika M GarufiIndiaElwin Sharvill NEGOTIATION
Smith Z SergiJapanXuxue Feng RENEWAL
Jeanfrancois J MarrierItalyElwin Sharvill NEW
Darci N VocelkaItalyAmy Elsner NEGOTIATION
Ricardo U OstroskyGermanyBernardo Dominic RENEWAL
Sinclair N RulapaughGermanyXuxue Feng QUALIFIED
Munro R BriddickBrazilIoni Bowcher QUALIFIED
Faith N NestleCanadaElwin Sharvill RENEWAL
Leon A SlusarskiGermanyAsiya Javayant QUALIFIED
Octavia J OstroskyGermanyBernardo Dominic QUALIFIED
Isabel X SlusarskiItalyAmy Elsner UNQUALIFIED
Adams D BriddickFranceOnyama Limba QUALIFIED
Kadeem Q KuskoGermanyXuxue Feng NEW
Smith D GillianGermanyOnyama Limba RENEWAL
Maria K BologniaAustraliaElwin Sharvill UNQUALIFIED
Adams R WaycottJapanAmy Elsner UNQUALIFIED
Faith A KolmetzRussiaAmy Elsner NEW
Deepesh K OstroskyRussiaXuxue Feng NEGOTIATION
David J OstroskyFranceAsiya Javayant RENEWAL
Maisha O MarrierUnited KingdomOnyama Limba NEW
Morrow P SergiSpainAnna Fali PROPOSAL
Tony B OldroydGermanyElwin Sharvill RENEWAL
Kadeem W KuskoFranceXuxue Feng UNQUALIFIED
Octavia I RutaItalyIvan Magalhaes QUALIFIED
Smith F FollerJapanElwin Sharvill NEW
Claire V WhobreyGermanyBernardo Dominic NEGOTIATION
Emily G StensethUnited KingdomBernardo Dominic QUALIFIED
Aditya T BriddickGermanyElwin Sharvill NEW
Jeanfrancois N WhobreyJapanIoni Bowcher UNQUALIFIED
James A CaudyFranceAnna Fali UNQUALIFIED
Frozen Columns
Name
Maisha C Gaucho
Stacey U Stockham
Claire Q Glick
James B Tollner
Julie L Schemmer
Ricardo K Albares
Clifford W Saylors
Kadeem I Nicka
Ivar E Wieser
Adams V Ostrosky
Faith B Darakjy
Adams J Morasca
Clifford M Ostrosky
Cody T Poquette
Claire A Inouye
Costa Q Nicka
Emily E Wieser
Arvin S Poquette
Ricardo T Chui
Julie U Glick
Aruna M Campain
Jennifer M Butt
Leja R Morasca
Jennifer A Malet
Morrow C Slusarski
Isabel T Ferencz
Kadeem E Gaucho
Clifford I Caldarera
Jeanfrancois W Kolmetz
Johnson C Briddick
Ivar O Chui
Johnson O Dilliard
Kadeem O Stenseth
Claire G Caldarera
Johnson J Dilliard
Izzy F Garufi
Johnson V Maclead
Jones D Doe
Salvatore A Ostrosky
Maria G Stenseth
David J Kusko
Izzy C Chui
Munro I Malet
Rodrigues F Amigon
Salvatore O Whobrey
Aika D Caudy
Jefferson Q Kolmetz
Isabel R Rulapaugh
Silvio Q Campain
Costa H Doe
IdCountryDate
1000Argentina2024-08-28
1001Russia2024-09-14
1002Canada2024-08-30
1003United Kingdom2024-09-24
1004Germany2024-09-22
1005Spain2024-08-29
1006United Kingdom2024-09-12
1007Spain2024-09-17
1008Brazil2024-08-29
1009India2024-09-24
1010Japan2024-09-05
1011Spain2024-09-10
1012Germany2024-09-18
1013United Kingdom2024-08-28
1014India2024-09-20
1015Brazil2024-09-11
1016Australia2024-09-22
1017United Kingdom2024-09-12
1018Germany2024-09-24
1019Russia2024-09-02
1020Brazil2024-09-02
1021Canada2024-09-10
1022Argentina2024-09-06
1023Japan2024-09-05
1024Russia2024-09-13
1025Argentina2024-09-02
1026France2024-09-09
1027Australia2024-08-30
1028Germany2024-09-16
1029Italy2024-09-03
1030United Kingdom2024-09-15
1031India2024-09-19
1032France2024-09-14
1033France2024-09-09
1034Italy2024-09-07
1035Spain2024-09-04
1036France2024-09-12
1037Russia2024-09-01
1038Germany2024-09-04
1039India2024-09-10
1040United Kingdom2024-09-25
1041Australia2024-08-31
1042Australia2024-09-12
1043Italy2024-09-17
1044United Kingdom2024-09-04
1045United Kingdom2024-09-16
1046Spain2024-09-03
1047Spain2024-09-24
1048France2024-09-24
1049Argentina2024-09-21

On-Demand Data

NameIdCountryDate
Ivar O Caudy1000India2024-09-23
Leon C Bolognia1001United Kingdom2024-09-14
Octavia F Caudy1002India2024-09-09
Chavez F Nicka1003Russia2024-09-18
Costa F Stockham1004Brazil2024-09-09
Rodrigues R Iturbide1005United Kingdom2024-09-23
Arvin V Bowley1006Brazil2024-09-16
Francesco F Dilliard1007Russia2024-09-24
Mayumi S Figeroa1008United Kingdom2024-09-20
Emily F Briddick1009Spain2024-09-25
Mayumi T Sergi1010India2024-09-10
Jeanfrancois S Caldarera1011Russia2024-09-13
Aditya C Maclead1012Brazil2024-09-01
Aika L Gillian1013Russia2024-09-25
Izzy V Malet1014Australia2024-09-22
Tony V Perin1015Japan2024-09-15
Mujtaba I Ferencz1016Japan2024-08-30
Maria Y Amigon1017Russia2024-09-11
Silvio S Bolognia1018France2024-09-26
Morrow N Vocelka1019United Kingdom2024-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois A InouyeUnited KingdomIoni Bowcher RENEWAL
Stacey Y WaycottFranceStephen Shaw PROPOSAL
Alejandro F MacleadJapanAsiya Javayant PROPOSAL
Ivar C ShinkoBrazilStephen Shaw QUALIFIED
Munro A ShinkoArgentinaAmy Elsner NEW
Izzy L SlusarskiCanadaAnna Fali PROPOSAL
Maria T FollerJapanAnna Fali QUALIFIED
Costa G MaletSpainAmy Elsner NEGOTIATION
Aika S NestleSpainIoni Bowcher NEGOTIATION
Misaki Y BowleySpainIvan Magalhaes NEGOTIATION
Julie V MaletItalyIvan Magalhaes QUALIFIED
Nicolas N MarrierFranceXuxue Feng UNQUALIFIED
James C OstroskyCanadaIvan Magalhaes RENEWAL
Jennifer R OldroydUnited KingdomOnyama Limba RENEWAL
Morrow L OldroydAustraliaBernardo Dominic NEGOTIATION
Wickens I OstroskyUnited KingdomElwin Sharvill QUALIFIED
David V FollerItalyAmy Elsner NEW
Izzy Y ShinkoArgentinaXuxue Feng NEW
Claire S MaletFranceAnna Fali QUALIFIED
Deepesh S SaylorsRussiaBernardo Dominic PROPOSAL
Stacey V NickaGermanyAmy Elsner QUALIFIED
Clifford I OldroydUnited KingdomIvan Magalhaes QUALIFIED
Maisha P FlosiArgentinaIoni Bowcher QUALIFIED
Wickens G ChuiAustraliaOnyama Limba QUALIFIED
Emily A ChuiSpainIoni Bowcher PROPOSAL
Octavia F GarufiItalyIoni Bowcher QUALIFIED
Antonio G NickaArgentinaStephen Shaw UNQUALIFIED
Deepesh N MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Cody Y RutaItalyElwin Sharvill NEGOTIATION
Aika O BriddickBrazilOnyama Limba RENEWAL
Smith Y ChuiSpainElwin Sharvill NEW
Faith Z FollerItalyIoni Bowcher PROPOSAL
Jennifer L SlusarskiRussiaXuxue Feng QUALIFIED
Cody U FlosiRussiaIvan Magalhaes QUALIFIED
Aruna F CaldareraGermanyStephen Shaw RENEWAL
Claire U GarufiUnited KingdomXuxue Feng QUALIFIED
Ricardo A MaletArgentinaAsiya Javayant PROPOSAL
Faith W ButtUnited KingdomAmy Elsner RENEWAL
Francesco C CaldareraRussiaAnna Fali UNQUALIFIED
Juan Q ButtGermanyElwin Sharvill 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>