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
Aika W MaletUnited KingdomBernardo Dominic PROPOSAL
Francesco Z DarakjyRussiaElwin Sharvill QUALIFIED
Kadeem B KolmetzAustraliaOnyama Limba NEW
Juan Y DoeIndiaStephen Shaw NEGOTIATION
Morrow P VocelkaAustraliaAmy Elsner PROPOSAL
Aditya F StensethGermanyIvan Magalhaes UNQUALIFIED
Mayumi D StensethBrazilXuxue Feng RENEWAL
Murillo T RutaSpainOnyama Limba NEGOTIATION
Octavia M PerinIndiaBernardo Dominic UNQUALIFIED
Jennifer K BologniaFranceIvan Magalhaes NEW
Leja F InouyeAustraliaAmy Elsner NEGOTIATION
Costa X SergiIndiaAsiya Javayant QUALIFIED
Jennifer C GarufiIndiaBernardo Dominic RENEWAL
Munro Z FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Stacey M FerenczSpainIvan Magalhaes UNQUALIFIED
Jefferson C KolmetzAustraliaAsiya Javayant PROPOSAL
Claire Z SlusarskiUnited KingdomAsiya Javayant UNQUALIFIED
Antonio V WieserSpainAmy Elsner NEGOTIATION
Tony G SaylorsUnited KingdomStephen Shaw PROPOSAL
Costa W RulapaughSpainElwin Sharvill RENEWAL
Ivar M FerenczAustraliaStephen Shaw UNQUALIFIED
Julie U InouyeUnited KingdomBernardo Dominic QUALIFIED
Aika L RutaUnited KingdomStephen Shaw PROPOSAL
Arvin I RulapaughArgentinaIvan Magalhaes NEGOTIATION
Costa H BologniaBrazilIvan Magalhaes QUALIFIED
Stacey M FollerArgentinaBernardo Dominic UNQUALIFIED
Smith V OldroydSpainElwin Sharvill NEGOTIATION
Maisha K RimUnited KingdomStephen Shaw PROPOSAL
Silvio J ShinkoFranceXuxue Feng UNQUALIFIED
Stacey B MarrierGermanyAnna Fali QUALIFIED
Clifford Q RutaFranceElwin Sharvill RENEWAL
Maisha J SchemmerRussiaIoni Bowcher NEGOTIATION
Jones J RimUnited KingdomOnyama Limba UNQUALIFIED
Morrow I VocelkaIndiaIoni Bowcher NEGOTIATION
Arvin Q MarrierGermanyBernardo Dominic NEGOTIATION
Cody U AlbaresJapanAnna Fali NEGOTIATION
Nicolas U GarufiArgentinaAsiya Javayant QUALIFIED
Smith A MaletFranceXuxue Feng RENEWAL
Maria O CaudyRussiaElwin Sharvill NEW
Tony F DilliardCanadaIoni Bowcher NEGOTIATION
Alejandro S VenereFranceBernardo Dominic PROPOSAL
Aditya K NickaRussiaIvan Magalhaes RENEWAL
Sinclair Z AmigonRussiaOnyama Limba QUALIFIED
Smith W ButtFranceAmy Elsner UNQUALIFIED
Faith G ButtAustraliaOnyama Limba UNQUALIFIED
Maisha F AlbaresIndiaIoni Bowcher NEW
Adams I IturbideArgentinaAsiya Javayant NEW
Sinclair A KolmetzCanadaOnyama Limba NEGOTIATION
Nicolas J BriddickUnited KingdomBernardo Dominic RENEWAL
Arvin I RulapaughRussiaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Costa S DilliardCanadaAmy Elsner QUALIFIED
Kaitlin L PerinJapanBernardo Dominic NEW
Jennifer D KolmetzFranceStephen Shaw PROPOSAL
Leja J CaudySpainStephen Shaw QUALIFIED
Nicolas E MacleadFranceIvan Magalhaes NEW
Nicolas W MaletRussiaBernardo Dominic NEW
Morrow Z IturbideIndiaElwin Sharvill UNQUALIFIED
Faith M ButtJapanElwin Sharvill NEW
James R IturbideAustraliaAnna Fali RENEWAL
Murillo P GillianGermanyElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez R TollnerIndia2024-06-09Feiner Bros UNQUALIFIED88Bernardo Dominic
1001Kaitlin H NestleIndia2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED92Xuxue Feng
1002Rodrigues N OldroydItaly2024-06-24Feltz Printing Service NEW98Ioni Bowcher
1003Ricardo X RimArgentina2024-06-11Chapman, Ross E Esq UNQUALIFIED97Ioni Bowcher
1004Clifford X MarrierUnited Kingdom2024-06-23King, Christopher A Esq NEW62Onyama Limba
1005Mayumi Q AmigonUnited Kingdom2024-06-10Commercial Press QUALIFIED60Asiya Javayant
1006David H SergiJapan2024-06-04Feiner Bros PROPOSAL58Amy Elsner
1007Darci V DoeBrazil2024-06-09Truhlar And Truhlar Attys QUALIFIED56Onyama Limba
1008Izzy U CaldareraBrazil2024-06-07Chanay, Jeffrey A Esq NEGOTIATION29Bernardo Dominic
1009Chavez L GarufiIndia2024-06-01Dorl, James J Esq RENEWAL51Amy Elsner
1010Adams E InouyeFrance2024-06-18Benton, John B Jr NEGOTIATION41Ivan Magalhaes
1011Costa N CaldareraArgentina2024-06-20Commercial Press UNQUALIFIED89Asiya Javayant
1012Kaitlin E MaletUnited Kingdom2024-06-01Rangoni Of Florence PROPOSAL72Elwin Sharvill
1013Sinclair L ShinkoIndia2024-06-16Chapman, Ross E Esq NEW12Amy Elsner
1014Isabel L PoquetteSpain2024-06-09Benton, John B Jr PROPOSAL9Ivan Magalhaes
1015Jones O GillianRussia2024-05-30Commercial Press UNQUALIFIED94Bernardo Dominic
1016Smith W SlusarskiSpain2024-05-30King, Christopher A Esq QUALIFIED76Bernardo Dominic
1017Nicolas I ShinkoJapan2024-06-01Buckley Miller Wright NEGOTIATION7Anna Fali
1018Cody E DilliardCanada2024-06-24Rangoni Of Florence UNQUALIFIED4Amy Elsner
1019Darci B KuskoFrance2024-05-27Buckley Miller Wright PROPOSAL37Onyama Limba
1020Maria T VenereJapan2024-06-24Chapman, Ross E Esq UNQUALIFIED58Stephen Shaw
1021Juan N MarrierGermany2024-05-29Dorl, James J Esq PROPOSAL41Anna Fali
1022Aika Z TollnerIndia2024-06-17Chemel, James L Cpa RENEWAL59Elwin Sharvill
1023Mujtaba V StensethBrazil2024-06-22Dorl, James J Esq NEGOTIATION28Anna Fali
1024Aruna X AmigonItaly2024-06-24Chapman, Ross E Esq NEGOTIATION42Onyama Limba
1025Maria K KuskoGermany2024-06-22Chemel, James L Cpa NEW89Anna Fali
1026Ashley K NickaAustralia2024-06-18Feltz Printing Service NEW26Xuxue Feng
1027James E WieserSpain2024-05-30Benton, John B Jr UNQUALIFIED27Ivan Magalhaes
1028Costa M AmigonIndia2024-06-02Printing Dimensions PROPOSAL35Ioni Bowcher
1029Stacey V GarufiJapan2024-06-22Chanay, Jeffrey A Esq NEW48Anna Fali
1030Chavez S AlbaresIndia2024-06-24Buckley Miller Wright UNQUALIFIED79Anna Fali
1031Tony Y MorascaSpain2024-06-06Dorl, James J Esq QUALIFIED48Xuxue Feng
1032Smith Q DarakjyArgentina2024-06-22Chemel, James L Cpa QUALIFIED56Onyama Limba
1033Rodrigues P KolmetzFrance2024-05-29Morlong Associates NEGOTIATION47Xuxue Feng
1034Octavia W DoeGermany2024-06-08Dorl, James J Esq UNQUALIFIED28Anna Fali
1035Alejandro B FerenczFrance2024-06-04Feiner Bros NEW35Asiya Javayant
1036Ricardo N RutaSpain2024-06-11Printing Dimensions QUALIFIED0Onyama Limba
1037Murillo A DilliardAustralia2024-06-06Commercial Press QUALIFIED13Bernardo Dominic
1038Julie G NickaSpain2024-05-31Feltz Printing Service QUALIFIED54Anna Fali
1039Octavia C OldroydSpain2024-06-03Commercial Press NEGOTIATION64Bernardo Dominic
1040Jones I GillianAustralia2024-05-30Chanay, Jeffrey A Esq PROPOSAL84Xuxue Feng
1041Tony Q FollerGermany2024-06-21Printing Dimensions QUALIFIED85Ioni Bowcher
1042Alejandro E PaprockiUnited Kingdom2024-06-06Chanay, Jeffrey A Esq QUALIFIED72Amy Elsner
1043Ashley Z ShinkoUnited Kingdom2024-06-04Chapman, Ross E Esq RENEWAL88Bernardo Dominic
1044Sinclair L FollerAustralia2024-06-04Feltz Printing Service NEW90Stephen Shaw
1045Leja J FlosiArgentina2024-06-07Benton, John B Jr NEGOTIATION96Stephen Shaw
1046Juan L MaletUnited Kingdom2024-05-30Morlong Associates PROPOSAL83Onyama Limba
1047Jones B MaletArgentina2024-06-05Rousseaux, Michael Esq RENEWAL16Asiya Javayant
1048Jones J ShinkoGermany2024-06-13Chemel, James L Cpa RENEWAL6Asiya Javayant
1049Juan W CampainFrance2024-06-12King, Christopher A Esq PROPOSAL35Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Isabel D MaletFranceBernardo Dominic NEGOTIATION
Juan J VenereUnited KingdomIoni Bowcher PROPOSAL
James K BriddickJapanStephen Shaw NEGOTIATION
Mujtaba P WhobreyJapanElwin Sharvill PROPOSAL
Maria H RutaItalyAsiya Javayant QUALIFIED
Jones L BologniaAustraliaOnyama Limba UNQUALIFIED
Kadeem P BowleySpainAmy Elsner UNQUALIFIED
Murillo X MaletBrazilStephen Shaw UNQUALIFIED
Murillo G MaletSpainElwin Sharvill UNQUALIFIED
Aruna Z FigeroaArgentinaIvan Magalhaes NEGOTIATION
Tony B FigeroaFranceElwin Sharvill PROPOSAL
Emily J SaylorsSpainElwin Sharvill NEGOTIATION
Ashley N StockhamSpainIvan Magalhaes QUALIFIED
Ivar T KuskoGermanyStephen Shaw QUALIFIED
Antonio S CaldareraRussiaElwin Sharvill NEW
Tony U CaldareraFranceBernardo Dominic UNQUALIFIED
Leja E OstroskyFranceElwin Sharvill UNQUALIFIED
Kaitlin G RoysterBrazilAmy Elsner RENEWAL
Ivar C WhobreyBrazilIvan Magalhaes UNQUALIFIED
Emily K OldroydUnited KingdomAsiya Javayant UNQUALIFIED
Alejandro N CaldareraItalyOnyama Limba UNQUALIFIED
Misaki B TollnerJapanIvan Magalhaes UNQUALIFIED
Alejandro Q VenereUnited KingdomAmy Elsner QUALIFIED
Jennifer H VocelkaGermanyAsiya Javayant RENEWAL
Faith F FlosiGermanyAmy Elsner RENEWAL
Maria P RimSpainAsiya Javayant PROPOSAL
Aruna M DarakjyRussiaAmy Elsner NEW
Johnson J ButtArgentinaIvan Magalhaes NEGOTIATION
Aditya A DarakjyRussiaXuxue Feng NEW
Nicolas P StockhamBrazilIoni Bowcher QUALIFIED
Mayumi T CaldareraArgentinaElwin Sharvill NEW
Chavez R GillianAustraliaIoni Bowcher UNQUALIFIED
Cody K InouyeIndiaElwin Sharvill NEGOTIATION
Cody D RutaArgentinaBernardo Dominic RENEWAL
Jeanfrancois G SaylorsSpainIoni Bowcher UNQUALIFIED
Izzy C GillianItalyElwin Sharvill NEW
Stacey P MarrierArgentinaAnna Fali UNQUALIFIED
Costa I DoeGermanyAnna Fali RENEWAL
Kadeem V DoeRussiaOnyama Limba PROPOSAL
Leon S WaycottFranceIoni Bowcher PROPOSAL
Ashley Q RoysterCanadaIvan Magalhaes UNQUALIFIED
Aditya P GauchoAustraliaStephen Shaw NEGOTIATION
Costa R ChuiGermanyBernardo Dominic QUALIFIED
Smith E ButtCanadaAnna Fali PROPOSAL
Ivar L DarakjyGermanyOnyama Limba NEGOTIATION
James I AlbaresUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh C FerenczIndiaBernardo Dominic UNQUALIFIED
David J GlickCanadaElwin Sharvill QUALIFIED
Maria K KuskoItalyOnyama Limba RENEWAL
David Q RulapaughFranceIvan Magalhaes NEW
Frozen Columns
Name
Kaitlin J Morasca
Julie S Ferencz
Maria T Perin
Arvin Q Stenseth
Francesco J Foller
Julie Y Kusko
Tony H Wieser
Antonio B Dilliard
Juan Q Perin
Johnson Z Kolmetz
Aditya H Campain
Morrow B Kolmetz
Arvin B Inouye
Morrow D Whobrey
David B Ferencz
Nicolas V Venere
Mayumi M Campain
Aika G Waycott
Jefferson N Inouye
Alejandro H Inouye
Greenwood S Iturbide
Tony Q Ferencz
Sinclair F Albares
Sinclair F Marrier
Kadeem H Figeroa
Aruna T Briddick
Aika K Chui
Nicolas E Poquette
Costa T Ruta
Johnson U Nestle
Tony B Shinko
Nicolas Q Venere
Mujtaba K Garufi
Francesco D Venere
Ricardo A Glick
James O Dilliard
Arvin Z Kusko
Leon V Tollner
Jefferson S Glick
Octavia S Kusko
Juan D Foller
Costa Y Stenseth
Izzy E Schemmer
Ricardo U Saylors
Izzy H Maclead
Juan P Ruta
Octavia K Schemmer
Maisha R Inouye
Sinclair A Glick
Mayumi W Iturbide
IdCountryDate
1000France2024-05-31
1001Australia2024-06-22
1002Japan2024-06-18
1003Spain2024-05-28
1004Brazil2024-06-13
1005Italy2024-06-05
1006Italy2024-06-12
1007United Kingdom2024-06-18
1008France2024-05-29
1009Argentina2024-06-12
1010Canada2024-06-11
1011Japan2024-06-10
1012Australia2024-06-03
1013Brazil2024-05-28
1014Canada2024-06-08
1015India2024-06-09
1016Japan2024-06-12
1017Brazil2024-06-18
1018India2024-06-17
1019United Kingdom2024-06-11
1020Argentina2024-06-05
1021Canada2024-06-18
1022France2024-06-03
1023Argentina2024-06-24
1024Germany2024-05-30
1025Canada2024-06-13
1026Germany2024-05-31
1027Argentina2024-05-30
1028United Kingdom2024-06-19
1029Germany2024-06-21
1030Argentina2024-06-12
1031Japan2024-06-23
1032Italy2024-05-31
1033France2024-06-12
1034India2024-05-26
1035United Kingdom2024-06-23
1036France2024-06-05
1037Italy2024-06-14
1038Germany2024-06-19
1039Brazil2024-06-14
1040Italy2024-05-29
1041Canada2024-06-20
1042Japan2024-06-13
1043Canada2024-05-31
1044India2024-06-06
1045United Kingdom2024-06-04
1046Brazil2024-06-06
1047Brazil2024-06-03
1048Brazil2024-06-20
1049India2024-05-26

On-Demand Data

NameIdCountryDate
Darci J Iturbide1000India2024-06-03
Chavez I Doe1001Italy2024-06-22
Murillo H Darakjy1002Canada2024-06-12
Kaitlin W Doe1003Brazil2024-06-01
Murillo L Butt1004Argentina2024-06-02
Julie M Perin1005Canada2024-06-19
Octavia W Garufi1006Argentina2024-06-01
Rodrigues E Ostrosky1007Canada2024-06-24
David T Morasca1008Germany2024-06-12
Kaitlin R Caldarera1009Australia2024-06-23
Mujtaba R Marrier1010Russia2024-06-04
Smith T Ostrosky1011Argentina2024-05-29
Wickens B Maclead1012Spain2024-06-18
Nicolas I Saylors1013Russia2024-06-13
Salvatore A Malet1014Germany2024-06-17
Aruna B Ostrosky1015Argentina2024-06-18
Deepesh A Malet1016India2024-06-22
Ashley M Flosi1017Argentina2024-06-08
Chavez Z Tollner1018United Kingdom2024-06-04
Izzy J Royster1019Brazil2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio F DilliardAustraliaIoni Bowcher QUALIFIED
Deepesh F SlusarskiAustraliaIvan Magalhaes PROPOSAL
Cody O PerinRussiaXuxue Feng NEW
Clifford N SchemmerGermanyAsiya Javayant NEW
Tony V PerinJapanOnyama Limba PROPOSAL
Darci F PerinIndiaXuxue Feng NEGOTIATION
Claire U WhobreyRussiaElwin Sharvill RENEWAL
Tony D OldroydRussiaAsiya Javayant UNQUALIFIED
Mayumi G InouyeJapanAmy Elsner NEGOTIATION
Kadeem A PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Jones N RimFranceXuxue Feng QUALIFIED
Munro N WaycottSpainAsiya Javayant NEGOTIATION
Murillo F DilliardUnited KingdomBernardo Dominic PROPOSAL
Clifford F FlosiAustraliaIoni Bowcher PROPOSAL
Deepesh B AmigonSpainAmy Elsner UNQUALIFIED
Arvin Y MorascaBrazilBernardo Dominic PROPOSAL
Aditya C NickaAustraliaElwin Sharvill RENEWAL
Claire S MaletSpainStephen Shaw NEGOTIATION
Juan G WhobreyBrazilElwin Sharvill PROPOSAL
Alejandro G RulapaughSpainOnyama Limba NEGOTIATION
Jennifer M SlusarskiItalyStephen Shaw PROPOSAL
Aditya H WaycottCanadaAmy Elsner RENEWAL
Claire H GarufiCanadaBernardo Dominic NEGOTIATION
Greenwood T GillianUnited KingdomStephen Shaw RENEWAL
Kadeem T KolmetzSpainBernardo Dominic NEW
Jones W GillianFranceAnna Fali QUALIFIED
Mayumi G CampainSpainAnna Fali NEW
Mayumi W RulapaughJapanOnyama Limba UNQUALIFIED
Misaki J SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Jefferson M BowleyItalyXuxue Feng RENEWAL
Tony C KolmetzSpainStephen Shaw NEW
Leon L StockhamFranceOnyama Limba RENEWAL
Jones X GarufiUnited KingdomBernardo Dominic RENEWAL
Tony Z FerenczAustraliaOnyama Limba RENEWAL
Leon Q StockhamItalyXuxue Feng RENEWAL
Arvin V PoquetteIndiaAsiya Javayant RENEWAL
Murillo Z RimArgentinaStephen Shaw UNQUALIFIED
David T InouyeJapanIoni Bowcher UNQUALIFIED
Tony C GauchoBrazilAnna Fali PROPOSAL
Silvio B FerenczJapanAnna Fali 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>