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
Octavia X GlickAustraliaAsiya Javayant NEW
Arvin U DarakjyFranceOnyama Limba NEW
Arvin K PoquetteGermanyStephen Shaw NEW
Cody N MorascaArgentinaXuxue Feng NEGOTIATION
Stacey E WhobreyRussiaIvan Magalhaes RENEWAL
Isabel J GauchoIndiaOnyama Limba UNQUALIFIED
Ivar B GlickRussiaIvan Magalhaes NEW
Leon G VocelkaFranceAmy Elsner PROPOSAL
Emily O GillianJapanIoni Bowcher PROPOSAL
Aruna O CaldareraAustraliaIoni Bowcher QUALIFIED
Deepesh O WhobreyAustraliaAsiya Javayant NEGOTIATION
Mayumi Y SaylorsBrazilXuxue Feng NEW
Arvin R SchemmerItalyIoni Bowcher NEGOTIATION
Munro D MorascaJapanElwin Sharvill RENEWAL
Aditya F DarakjyIndiaIoni Bowcher RENEWAL
Arvin G OldroydFranceXuxue Feng NEGOTIATION
Silvio N KuskoArgentinaIoni Bowcher RENEWAL
Murillo C IturbideArgentinaAmy Elsner QUALIFIED
Ashley A ButtGermanyAnna Fali RENEWAL
Salvatore T KuskoArgentinaXuxue Feng RENEWAL
Leja O SergiArgentinaOnyama Limba QUALIFIED
Adams E WieserAustraliaAnna Fali UNQUALIFIED
Isabel K FlosiAustraliaAsiya Javayant NEGOTIATION
Rodrigues N MacleadUnited KingdomAnna Fali UNQUALIFIED
Jefferson U VocelkaJapanXuxue Feng NEW
Stacey R MorascaGermanyIvan Magalhaes UNQUALIFIED
Adams J WhobreyAustraliaXuxue Feng RENEWAL
Greenwood H KolmetzCanadaOnyama Limba QUALIFIED
Deepesh S PoquetteArgentinaStephen Shaw RENEWAL
David F BriddickArgentinaAnna Fali NEW
Mujtaba H RutaSpainAnna Fali NEW
Aika E CaldareraFranceElwin Sharvill QUALIFIED
Juan P DarakjyRussiaAsiya Javayant UNQUALIFIED
Cody K RulapaughFranceXuxue Feng UNQUALIFIED
Octavia L BowleyIndiaIvan Magalhaes NEW
Clifford F VocelkaAustraliaStephen Shaw NEW
Deepesh E AmigonCanadaBernardo Dominic NEW
Chavez Z WhobreyCanadaElwin Sharvill UNQUALIFIED
Darci S PoquetteGermanyAsiya Javayant QUALIFIED
Stacey H SergiItalyIoni Bowcher UNQUALIFIED
Silvio C StensethRussiaAmy Elsner UNQUALIFIED
Nicolas R PoquetteIndiaAmy Elsner UNQUALIFIED
Kadeem H GauchoFranceAmy Elsner RENEWAL
Maria R NickaRussiaBernardo Dominic PROPOSAL
Isabel D StensethIndiaIoni Bowcher UNQUALIFIED
Sinclair X BriddickCanadaStephen Shaw NEGOTIATION
Morrow O StensethSpainAsiya Javayant QUALIFIED
Morrow P BologniaItalyOnyama Limba QUALIFIED
Ivar W CaudyGermanyElwin Sharvill NEGOTIATION
Jones J MarrierUnited KingdomAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Chavez R RulapaughSpainAnna Fali NEGOTIATION
Adams D DarakjyBrazilIvan Magalhaes NEW
Emily J CaudyItalyBernardo Dominic NEGOTIATION
Aika C CampainJapanStephen Shaw NEGOTIATION
Jones S RutaItalyAsiya Javayant NEGOTIATION
Rodrigues Q RulapaughSpainStephen Shaw RENEWAL
Maisha F OldroydIndiaElwin Sharvill QUALIFIED
Misaki T StockhamSpainOnyama Limba RENEWAL
Greenwood E FlosiItalyAnna Fali NEW
Jeanfrancois H StockhamJapanOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire U MaletBrazil2024-06-09Rousseaux, Michael Esq PROPOSAL93Elwin Sharvill
1001Stacey H KolmetzRussia2024-05-30Printing Dimensions UNQUALIFIED61Xuxue Feng
1002Jennifer O KolmetzItaly2024-06-05Rousseaux, Michael Esq PROPOSAL77Bernardo Dominic
1003Smith D DoeGermany2024-05-26Printing Dimensions NEW44Elwin Sharvill
1004Antonio G KolmetzAustralia2024-06-12Chanay, Jeffrey A Esq PROPOSAL57Ioni Bowcher
1005Rodrigues C SlusarskiCanada2024-06-06Rangoni Of Florence UNQUALIFIED42Stephen Shaw
1006Misaki Z VocelkaCanada2024-06-09Chapman, Ross E Esq RENEWAL41Anna Fali
1007Antonio P BologniaFrance2024-06-08Chapman, Ross E Esq QUALIFIED69Ioni Bowcher
1008Wickens M FigeroaUnited Kingdom2024-05-19Buckley Miller Wright PROPOSAL7Bernardo Dominic
1009Kaitlin S SergiAustralia2024-05-31Chapman, Ross E Esq RENEWAL85Anna Fali
1010Jones F SaylorsGermany2024-05-23Commercial Press RENEWAL33Asiya Javayant
1011Mayumi Y WieserGermany2024-06-07King, Christopher A Esq NEGOTIATION42Onyama Limba
1012Emily N DilliardSpain2024-05-23Feiner Bros QUALIFIED66Asiya Javayant
1013Faith W WhobreyAustralia2024-06-06Rangoni Of Florence PROPOSAL10Bernardo Dominic
1014Claire O ShinkoItaly2024-06-15Commercial Press QUALIFIED26Onyama Limba
1015Salvatore D IturbideArgentina2024-06-08Chemel, James L Cpa RENEWAL72Ioni Bowcher
1016Smith C CampainSpain2024-05-23Commercial Press UNQUALIFIED36Bernardo Dominic
1017Claire F KuskoSpain2024-06-01Rangoni Of Florence NEGOTIATION78Ioni Bowcher
1018Mayumi N FerenczArgentina2024-05-27Chapman, Ross E Esq PROPOSAL61Anna Fali
1019Salvatore B DilliardIndia2024-05-29Truhlar And Truhlar Attys NEW28Anna Fali
1020Claire A CampainJapan2024-05-23Dorl, James J Esq PROPOSAL25Xuxue Feng
1021Julie L DilliardCanada2024-05-29Chemel, James L Cpa UNQUALIFIED56Bernardo Dominic
1022Ivar R SergiItaly2024-06-03King, Christopher A Esq NEW66Amy Elsner
1023Claire K SergiFrance2024-06-10King, Christopher A Esq RENEWAL69Bernardo Dominic
1024Greenwood A RoysterJapan2024-06-09Chanay, Jeffrey A Esq NEGOTIATION41Asiya Javayant
1025Jefferson W DarakjyFrance2024-05-21Feltz Printing Service RENEWAL24Stephen Shaw
1026Jeanfrancois M AmigonRussia2024-06-07Rangoni Of Florence UNQUALIFIED37Stephen Shaw
1027Ashley F ShinkoIndia2024-05-17King, Christopher A Esq PROPOSAL92Bernardo Dominic
1028Jennifer Y KuskoIndia2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED29Elwin Sharvill
1029Claire K StockhamUnited Kingdom2024-05-19Rousseaux, Michael Esq QUALIFIED68Ivan Magalhaes
1030Claire Q FollerBrazil2024-06-11Dorl, James J Esq RENEWAL69Ioni Bowcher
1031Juan G StensethArgentina2024-05-24Feiner Bros NEGOTIATION22Amy Elsner
1032Ivar Z FerenczGermany2024-06-07Chemel, James L Cpa QUALIFIED10Onyama Limba
1033Sinclair K DoeBrazil2024-05-27Buckley Miller Wright PROPOSAL48Onyama Limba
1034Kaitlin O ChuiAustralia2024-06-15Buckley Miller Wright RENEWAL30Ivan Magalhaes
1035Francesco F MaletCanada2024-06-05Rangoni Of Florence QUALIFIED30Asiya Javayant
1036Julie W ShinkoCanada2024-06-04Buckley Miller Wright QUALIFIED40Bernardo Dominic
1037Tony S MorascaUnited Kingdom2024-05-25Feiner Bros UNQUALIFIED18Ivan Magalhaes
1038Aruna E DoeUnited Kingdom2024-05-25Commercial Press PROPOSAL96Xuxue Feng
1039Johnson Z ShinkoJapan2024-05-24Morlong Associates RENEWAL40Asiya Javayant
1040Alejandro Y WieserUnited Kingdom2024-06-04Printing Dimensions RENEWAL82Anna Fali
1041Clifford W MacleadGermany2024-05-30Rangoni Of Florence PROPOSAL52Ioni Bowcher
1042Silvio A RulapaughJapan2024-06-06Chapman, Ross E Esq QUALIFIED65Anna Fali
1043Tony Z AmigonArgentina2024-05-30Printing Dimensions NEW19Onyama Limba
1044Kaitlin M GlickJapan2024-05-23Printing Dimensions RENEWAL74Onyama Limba
1045Jefferson Y PerinItaly2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED41Ivan Magalhaes
1046Aditya H MaletJapan2024-05-23Benton, John B Jr RENEWAL4Bernardo Dominic
1047Jones X CaldareraBrazil2024-06-07Printing Dimensions PROPOSAL78Bernardo Dominic
1048Francesco I AlbaresIndia2024-05-27Buckley Miller Wright UNQUALIFIED98Amy Elsner
1049Deepesh M GillianSpain2024-05-30Rangoni Of Florence NEW38Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aditya N CaudyIndiaIoni Bowcher RENEWAL
Arvin C VocelkaGermanyAmy Elsner QUALIFIED
Kadeem H VocelkaRussiaXuxue Feng NEW
Misaki N FigeroaItalyBernardo Dominic NEW
Wickens X StockhamUnited KingdomIvan Magalhaes RENEWAL
Sinclair L NickaUnited KingdomIvan Magalhaes NEW
Ricardo K MacleadRussiaElwin Sharvill UNQUALIFIED
Alejandro Y FollerIndiaBernardo Dominic NEW
Jennifer L DilliardAustraliaAsiya Javayant PROPOSAL
Smith D VenereUnited KingdomStephen Shaw NEW
Arvin C RimFranceStephen Shaw RENEWAL
Ricardo V RulapaughRussiaAsiya Javayant NEW
Nicolas L GauchoIndiaAmy Elsner NEGOTIATION
Greenwood C MorascaGermanyXuxue Feng UNQUALIFIED
Adams Y BriddickSpainIvan Magalhaes QUALIFIED
Nicolas E FollerAustraliaBernardo Dominic QUALIFIED
Tony M VocelkaRussiaAmy Elsner QUALIFIED
Greenwood G OldroydJapanAsiya Javayant UNQUALIFIED
Isabel A StockhamJapanAnna Fali NEW
Mayumi X AlbaresUnited KingdomAmy Elsner RENEWAL
Wickens J SlusarskiRussiaElwin Sharvill NEW
Faith G AlbaresRussiaElwin Sharvill RENEWAL
Jennifer C OldroydRussiaOnyama Limba QUALIFIED
Deepesh X SlusarskiGermanyAnna Fali RENEWAL
Jennifer S SaylorsBrazilAmy Elsner RENEWAL
Faith S SaylorsCanadaElwin Sharvill NEW
Ricardo R StensethGermanyIoni Bowcher NEGOTIATION
Mujtaba V ChuiBrazilIvan Magalhaes UNQUALIFIED
Kadeem L FerenczArgentinaOnyama Limba QUALIFIED
Aruna Q GlickFranceAnna Fali UNQUALIFIED
Jones T PoquetteAustraliaAmy Elsner UNQUALIFIED
Maria U AlbaresFranceIvan Magalhaes RENEWAL
Maria D MarrierAustraliaIoni Bowcher NEW
Greenwood D VenereJapanXuxue Feng PROPOSAL
Chavez A PoquetteSpainAnna Fali PROPOSAL
Aika Q AmigonJapanAnna Fali NEW
Antonio V DilliardIndiaStephen Shaw UNQUALIFIED
Kaitlin Z RoysterSpainOnyama Limba NEW
James F SaylorsIndiaBernardo Dominic NEW
Misaki E TollnerFranceOnyama Limba NEW
Leon N NestleRussiaXuxue Feng NEW
Izzy H TollnerBrazilAnna Fali PROPOSAL
Octavia J WhobreyCanadaOnyama Limba QUALIFIED
Stacey W SchemmerCanadaStephen Shaw UNQUALIFIED
Claire R GarufiBrazilAsiya Javayant UNQUALIFIED
Octavia P FlosiItalyElwin Sharvill NEW
Wickens B ChuiCanadaOnyama Limba PROPOSAL
Kaitlin W ButtRussiaIvan Magalhaes RENEWAL
Sinclair T BologniaUnited KingdomIvan Magalhaes PROPOSAL
Maria B SaylorsFranceAmy Elsner UNQUALIFIED
Frozen Columns
Name
Jennifer W Caudy
David F Royster
Smith I Malet
Chavez V Malet
Morrow F Malet
Maria L Foller
Costa Y Stenseth
Claire F Rulapaugh
Smith C Inouye
Jennifer A Stenseth
Isabel H Morasca
Costa R Iturbide
Francesco H Bowley
Kadeem W Poquette
Izzy B Albares
Juan Z Caudy
Octavia E Slusarski
Silvio C Royster
Nicolas K Schemmer
Nicolas U Iturbide
Ricardo P Albares
Aditya M Amigon
Isabel O Maclead
Ricardo G Butt
Aditya V Marrier
Clifford Y Poquette
Chavez S Maclead
Costa Z Garufi
Sinclair E Stenseth
Faith V Kusko
Ricardo F Foller
Antonio F Caldarera
Deepesh G Nestle
Chavez E Bowley
Wickens N Sergi
Antonio X Stockham
Munro Y Iturbide
Jennifer U Kolmetz
Mujtaba O Poquette
Clifford N Caudy
Sinclair E Inouye
Tony H Slusarski
Maria D Figeroa
Juan H Caudy
Aika Q Amigon
David J Briddick
Maria L Poquette
Stacey Q Flosi
Arvin M Bolognia
Izzy Z Dilliard
IdCountryDate
1000Germany2024-05-23
1001Spain2024-06-13
1002Spain2024-06-06
1003Russia2024-06-07
1004Germany2024-05-29
1005Japan2024-05-22
1006Canada2024-06-09
1007Germany2024-06-13
1008Spain2024-05-30
1009Brazil2024-05-30
1010Russia2024-06-01
1011Canada2024-05-21
1012Brazil2024-05-20
1013India2024-06-03
1014United Kingdom2024-05-22
1015Spain2024-05-30
1016Japan2024-06-01
1017Germany2024-05-19
1018Australia2024-06-13
1019Canada2024-06-09
1020United Kingdom2024-05-26
1021Spain2024-05-29
1022Australia2024-05-20
1023India2024-05-30
1024United Kingdom2024-06-01
1025Spain2024-06-03
1026Japan2024-05-20
1027Australia2024-06-09
1028Germany2024-06-13
1029Canada2024-05-17
1030Argentina2024-06-11
1031Germany2024-05-17
1032Canada2024-05-23
1033Australia2024-05-25
1034Australia2024-05-27
1035Spain2024-05-25
1036France2024-05-24
1037Brazil2024-06-04
1038Brazil2024-06-03
1039Argentina2024-05-27
1040Japan2024-06-14
1041Japan2024-06-12
1042Germany2024-05-17
1043India2024-06-06
1044Italy2024-05-20
1045Brazil2024-06-13
1046Russia2024-05-22
1047Germany2024-06-01
1048India2024-05-17
1049Japan2024-05-18

On-Demand Data

NameIdCountryDate
Clifford T Gillian1000Italy2024-06-14
Ricardo Q Albares1001Canada2024-06-14
Arvin D Stenseth1002Italy2024-05-24
Darci S Darakjy1003France2024-06-06
Alejandro Q Stenseth1004Germany2024-05-23
Rodrigues R Rulapaugh1005United Kingdom2024-06-10
Francesco F Caudy1006Germany2024-05-21
Munro G Sergi1007United Kingdom2024-05-30
David J Poquette1008Germany2024-06-03
Emily X Paprocki1009Italy2024-06-01
Isabel A Tollner1010Japan2024-06-11
Jones A Bowley1011India2024-06-03
Deepesh Q Nicka1012Italy2024-05-19
Ivar R Whobrey1013Australia2024-05-26
Darci U Iturbide1014Brazil2024-06-10
James S Vocelka1015Russia2024-05-27
Aika W Rulapaugh1016France2024-05-20
Murillo K Maclead1017United Kingdom2024-06-03
Ashley F Royster1018Italy2024-05-21
Alejandro C Kusko1019Italy2024-05-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo B MaletSpainAsiya Javayant RENEWAL
Kadeem K DoeJapanXuxue Feng QUALIFIED
Kaitlin E KuskoJapanStephen Shaw PROPOSAL
Tony J SchemmerIndiaElwin Sharvill NEW
Isabel X MarrierGermanyStephen Shaw RENEWAL
Deepesh E RoysterSpainAnna Fali NEW
Costa Q NickaGermanyElwin Sharvill RENEWAL
Jefferson O MarrierUnited KingdomAnna Fali UNQUALIFIED
Adams G DilliardArgentinaIoni Bowcher RENEWAL
Misaki B KuskoUnited KingdomXuxue Feng UNQUALIFIED
Maisha Y NickaIndiaBernardo Dominic PROPOSAL
Antonio Y KuskoJapanAmy Elsner RENEWAL
Arvin U MaletBrazilOnyama Limba NEGOTIATION
Darci J NickaRussiaIvan Magalhaes UNQUALIFIED
Juan A DarakjyUnited KingdomAnna Fali UNQUALIFIED
Salvatore T ChuiIndiaAsiya Javayant PROPOSAL
Clifford W InouyeJapanAsiya Javayant PROPOSAL
James Y RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Morrow F PoquetteRussiaStephen Shaw RENEWAL
Leon C SlusarskiFranceStephen Shaw NEGOTIATION
Emily I DarakjyArgentinaIoni Bowcher QUALIFIED
Emily N GauchoFranceIvan Magalhaes PROPOSAL
Stacey I IturbideItalyAmy Elsner NEW
Murillo I WhobreyJapanAnna Fali NEW
David K FlosiCanadaIoni Bowcher UNQUALIFIED
Jennifer U NickaUnited KingdomIvan Magalhaes PROPOSAL
Smith F TollnerJapanElwin Sharvill RENEWAL
James K BowleyGermanyOnyama Limba UNQUALIFIED
Costa C WaycottBrazilIoni Bowcher PROPOSAL
Octavia U FlosiFranceIvan Magalhaes QUALIFIED
Smith X WieserCanadaStephen Shaw QUALIFIED
Misaki A VenereSpainOnyama Limba QUALIFIED
Jeanfrancois G FollerIndiaIoni Bowcher RENEWAL
Jeanfrancois V PaprockiRussiaIvan Magalhaes RENEWAL
Silvio V GauchoSpainAmy Elsner PROPOSAL
David T SergiJapanAsiya Javayant RENEWAL
Kaitlin W GarufiCanadaOnyama Limba UNQUALIFIED
Faith V InouyeFranceOnyama Limba UNQUALIFIED
Aditya F CaudyIndiaElwin Sharvill QUALIFIED
Chavez S TollnerArgentinaAsiya Javayant PROPOSAL

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