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
Kadeem P FollerRussiaIvan Magalhaes RENEWAL
Francesco T MarrierItalyAmy Elsner NEW
Cody A NickaRussiaBernardo Dominic NEGOTIATION
David S GillianCanadaXuxue Feng RENEWAL
Morrow U MorascaUnited KingdomXuxue Feng NEGOTIATION
Deepesh H CampainGermanyAsiya Javayant QUALIFIED
Salvatore G RutaBrazilAsiya Javayant PROPOSAL
David G PoquetteFranceAmy Elsner NEGOTIATION
Jones U SchemmerItalyXuxue Feng UNQUALIFIED
Mujtaba W AlbaresUnited KingdomStephen Shaw UNQUALIFIED
Maria G MaletUnited KingdomBernardo Dominic NEGOTIATION
Clifford F ShinkoCanadaAnna Fali QUALIFIED
Mujtaba G FigeroaFranceBernardo Dominic QUALIFIED
Julie R PerinFranceIvan Magalhaes RENEWAL
Wickens H TollnerCanadaAsiya Javayant NEGOTIATION
Leon O FigeroaCanadaBernardo Dominic QUALIFIED
Ricardo P PoquetteArgentinaBernardo Dominic QUALIFIED
Jefferson L AmigonArgentinaStephen Shaw UNQUALIFIED
Aditya V CampainArgentinaAnna Fali PROPOSAL
Jeanfrancois B RimIndiaIvan Magalhaes RENEWAL
Leon K FerenczAustraliaOnyama Limba NEW
Misaki P SaylorsItalyOnyama Limba NEGOTIATION
Leja M DilliardCanadaAnna Fali PROPOSAL
Darci U FigeroaIndiaBernardo Dominic NEGOTIATION
Deepesh U AmigonIndiaElwin Sharvill QUALIFIED
Leja J KuskoRussiaElwin Sharvill UNQUALIFIED
Ashley E GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
Costa L DoeRussiaAnna Fali QUALIFIED
Aika E StockhamUnited KingdomIvan Magalhaes QUALIFIED
Alejandro R PaprockiArgentinaAnna Fali UNQUALIFIED
Stacey L CaldareraIndiaIvan Magalhaes NEW
Izzy Q SergiSpainBernardo Dominic NEGOTIATION
Emily G ChuiArgentinaElwin Sharvill NEGOTIATION
Aruna J MacleadFranceStephen Shaw PROPOSAL
Alejandro T StockhamSpainXuxue Feng NEGOTIATION
Kadeem Q CaldareraGermanyIoni Bowcher RENEWAL
Ricardo H VocelkaCanadaIvan Magalhaes NEW
Ricardo B ChuiUnited KingdomElwin Sharvill UNQUALIFIED
Rodrigues O FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba I FlosiFranceElwin Sharvill UNQUALIFIED
Antonio F WaycottSpainIoni Bowcher RENEWAL
Morrow Z GauchoArgentinaOnyama Limba QUALIFIED
Ashley N ChuiBrazilBernardo Dominic PROPOSAL
Nicolas M MaletFranceStephen Shaw NEGOTIATION
Octavia Q ChuiGermanyBernardo Dominic PROPOSAL
Sinclair D WieserFranceBernardo Dominic PROPOSAL
Jones G NickaUnited KingdomStephen Shaw QUALIFIED
Emily S CampainFranceIoni Bowcher UNQUALIFIED
Alejandro H KolmetzItalyOnyama Limba RENEWAL
Jennifer N CampainAustraliaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Arvin E MacleadArgentinaBernardo Dominic QUALIFIED
Ashley K BriddickCanadaIoni Bowcher UNQUALIFIED
Isabel M MarrierFranceOnyama Limba NEGOTIATION
Francesco Y SchemmerGermanyXuxue Feng QUALIFIED
Smith U MaletSpainAnna Fali UNQUALIFIED
Murillo S RutaJapanXuxue Feng PROPOSAL
Cody J WieserCanadaAmy Elsner UNQUALIFIED
Greenwood E FigeroaBrazilAnna Fali RENEWAL
Costa O WaycottAustraliaXuxue Feng NEW
Aika R VocelkaFranceOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar P FollerIndia2024-06-07Rangoni Of Florence UNQUALIFIED5Bernardo Dominic
1001Sinclair Y BriddickItaly2024-06-02Buckley Miller Wright QUALIFIED82Stephen Shaw
1002Sinclair H TollnerCanada2024-05-29Chemel, James L Cpa QUALIFIED15Ioni Bowcher
1003David G OldroydCanada2024-06-06Truhlar And Truhlar Attys RENEWAL92Anna Fali
1004Octavia T VocelkaFrance2024-06-17King, Christopher A Esq RENEWAL7Asiya Javayant
1005Murillo R PoquetteIndia2024-06-15Chapman, Ross E Esq NEW7Xuxue Feng
1006Julie A VocelkaArgentina2024-06-15Rangoni Of Florence NEGOTIATION14Asiya Javayant
1007Faith Y MacleadItaly2024-06-10Feltz Printing Service PROPOSAL84Bernardo Dominic
1008Cody N FigeroaJapan2024-06-12Feiner Bros UNQUALIFIED1Amy Elsner
1009Juan G FerenczJapan2024-06-15Chapman, Ross E Esq PROPOSAL92Xuxue Feng
1010Isabel B StockhamIndia2024-05-31Buckley Miller Wright PROPOSAL94Ioni Bowcher
1011Misaki R OldroydCanada2024-06-12Morlong Associates UNQUALIFIED72Stephen Shaw
1012Aruna I FlosiJapan2024-06-16Benton, John B Jr QUALIFIED1Ivan Magalhaes
1013Aika Y MarrierRussia2024-06-03Rangoni Of Florence RENEWAL6Stephen Shaw
1014Maria M SlusarskiBrazil2024-06-07Benton, John B Jr RENEWAL31Ioni Bowcher
1015Faith J FlosiArgentina2024-06-19Feiner Bros UNQUALIFIED71Xuxue Feng
1016Ricardo V GauchoSpain2024-06-05Feltz Printing Service RENEWAL41Ivan Magalhaes
1017Salvatore M KuskoFrance2024-06-07Chemel, James L Cpa UNQUALIFIED63Stephen Shaw
1018Octavia Q SergiIndia2024-06-09Chanay, Jeffrey A Esq RENEWAL46Xuxue Feng
1019Aditya E RulapaughFrance2024-05-24Benton, John B Jr NEGOTIATION8Asiya Javayant
1020Smith Z RimIndia2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED32Elwin Sharvill
1021Costa Q WaycottItaly2024-06-14Rousseaux, Michael Esq QUALIFIED9Stephen Shaw
1022Misaki K MorascaItaly2024-06-03Rangoni Of Florence NEW96Asiya Javayant
1023Emily R SchemmerGermany2024-06-12Dorl, James J Esq UNQUALIFIED28Bernardo Dominic
1024Jefferson K MaletArgentina2024-06-17Buckley Miller Wright PROPOSAL13Anna Fali
1025Smith Y BologniaCanada2024-06-04Rousseaux, Michael Esq UNQUALIFIED38Bernardo Dominic
1026Kadeem U StensethJapan2024-06-08Rangoni Of Florence NEGOTIATION49Bernardo Dominic
1027Arvin X IturbideGermany2024-06-04Feltz Printing Service PROPOSAL56Asiya Javayant
1028Jennifer L ButtItaly2024-06-17Chemel, James L Cpa RENEWAL92Xuxue Feng
1029Tony O FerenczCanada2024-05-27Dorl, James J Esq PROPOSAL13Ioni Bowcher
1030Jennifer K CaldareraUnited Kingdom2024-06-04Chemel, James L Cpa PROPOSAL61Stephen Shaw
1031Sinclair D AmigonSpain2024-06-02Feiner Bros RENEWAL19Ioni Bowcher
1032Arvin V StensethGermany2024-05-30Morlong Associates PROPOSAL98Stephen Shaw
1033Francesco K SergiJapan2024-06-01Commercial Press UNQUALIFIED43Asiya Javayant
1034Ashley X AmigonAustralia2024-06-01Chanay, Jeffrey A Esq NEW19Xuxue Feng
1035Arvin A NickaGermany2024-06-09Truhlar And Truhlar Attys NEGOTIATION38Stephen Shaw
1036Stacey F FigeroaJapan2024-06-18Feltz Printing Service RENEWAL38Onyama Limba
1037Maisha R RulapaughAustralia2024-06-21Benton, John B Jr RENEWAL0Ivan Magalhaes
1038Jeanfrancois P FlosiItaly2024-06-04Morlong Associates QUALIFIED39Elwin Sharvill
1039David G BriddickCanada2024-06-19Buckley Miller Wright RENEWAL28Anna Fali
1040Kaitlin Q MaletRussia2024-06-15Buckley Miller Wright PROPOSAL30Xuxue Feng
1041David A DoeRussia2024-06-07Buckley Miller Wright RENEWAL21Stephen Shaw
1042Wickens C MacleadIndia2024-06-19Truhlar And Truhlar Attys RENEWAL71Anna Fali
1043Kadeem N WaycottJapan2024-05-26Buckley Miller Wright UNQUALIFIED30Stephen Shaw
1044Ivar U CaudyIndia2024-06-03Commercial Press QUALIFIED45Stephen Shaw
1045Sinclair N IturbideJapan2024-06-09Truhlar And Truhlar Attys RENEWAL34Ivan Magalhaes
1046James J VocelkaUnited Kingdom2024-06-12Chemel, James L Cpa NEGOTIATION57Stephen Shaw
1047Juan Q NestleArgentina2024-06-12Morlong Associates QUALIFIED51Bernardo Dominic
1048Mujtaba U RoysterSpain2024-06-01Printing Dimensions NEW38Ioni Bowcher
1049Maria B GarufiArgentina2024-06-05Chapman, Ross E Esq RENEWAL84Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ricardo S TollnerCanadaOnyama Limba UNQUALIFIED
Jefferson W MorascaGermanyElwin Sharvill RENEWAL
James I WhobreyCanadaElwin Sharvill PROPOSAL
Nicolas W AlbaresRussiaAsiya Javayant UNQUALIFIED
Murillo P MacleadBrazilStephen Shaw QUALIFIED
Aika N StensethJapanStephen Shaw RENEWAL
Ricardo R BriddickArgentinaOnyama Limba UNQUALIFIED
Darci A FerenczRussiaIoni Bowcher RENEWAL
Silvio B DoeBrazilAmy Elsner PROPOSAL
Emily A ChuiArgentinaOnyama Limba NEW
Leja B RimCanadaIvan Magalhaes NEW
Mayumi V DoeItalyIoni Bowcher QUALIFIED
Aika G KuskoUnited KingdomXuxue Feng UNQUALIFIED
Chavez G SchemmerBrazilIvan Magalhaes QUALIFIED
Ashley C SaylorsAustraliaBernardo Dominic NEW
Ashley P FollerGermanyAsiya Javayant NEGOTIATION
Aditya P GlickUnited KingdomOnyama Limba PROPOSAL
James A DarakjyRussiaElwin Sharvill QUALIFIED
Salvatore M StockhamGermanyXuxue Feng NEW
Leon N RimGermanyIvan Magalhaes RENEWAL
Julie O CampainGermanyIvan Magalhaes RENEWAL
Maria N VenereCanadaXuxue Feng QUALIFIED
Smith M GlickBrazilStephen Shaw PROPOSAL
Chavez D CaldareraAustraliaAsiya Javayant UNQUALIFIED
Chavez F OstroskyArgentinaStephen Shaw NEW
Clifford U VocelkaRussiaIvan Magalhaes NEGOTIATION
Octavia M IturbideFranceOnyama Limba RENEWAL
Jefferson Z KolmetzUnited KingdomStephen Shaw PROPOSAL
Leon H BowleyItalyIvan Magalhaes PROPOSAL
Jones H SchemmerAustraliaOnyama Limba PROPOSAL
Mujtaba Y WaycottGermanyElwin Sharvill UNQUALIFIED
Aditya S DarakjyBrazilStephen Shaw QUALIFIED
Kaitlin T SlusarskiJapanAmy Elsner NEGOTIATION
Emily X RulapaughBrazilIvan Magalhaes QUALIFIED
Aditya U CampainItalyIoni Bowcher QUALIFIED
Arvin E FigeroaAustraliaElwin Sharvill RENEWAL
Aruna J SaylorsAustraliaIvan Magalhaes UNQUALIFIED
Julie M SlusarskiItalyAnna Fali NEGOTIATION
Francesco J FerenczBrazilStephen Shaw QUALIFIED
Rodrigues A SergiJapanIoni Bowcher PROPOSAL
Munro E GillianAustraliaAmy Elsner QUALIFIED
Kaitlin O ShinkoRussiaOnyama Limba QUALIFIED
Arvin S ButtUnited KingdomIoni Bowcher PROPOSAL
Aika U TollnerFranceStephen Shaw NEW
Arvin U PaprockiIndiaBernardo Dominic NEW
Wickens P SlusarskiRussiaIvan Magalhaes PROPOSAL
Emily J SlusarskiUnited KingdomOnyama Limba QUALIFIED
Aruna R BologniaFranceOnyama Limba PROPOSAL
Emily K KuskoBrazilOnyama Limba PROPOSAL
Jeanfrancois Y CampainCanadaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Isabel G Slusarski
Darci N Waycott
Mayumi G Glick
Emily N Caldarera
Jones T Vocelka
Aditya F Rulapaugh
David L Iturbide
Murillo Q Glick
Mayumi S Tollner
Jones U Figeroa
Greenwood P Albares
Jones I Schemmer
Aika K Iturbide
Tony E Venere
Rodrigues W Chui
Aika L Flosi
Isabel Q Oldroyd
Leja P Caudy
Faith A Campain
Aditya C Malet
Claire Z Ostrosky
Adams D Rulapaugh
Octavia G Schemmer
Jefferson E Perin
Costa B Marrier
Johnson N Sergi
Ashley P Waycott
Johnson Z Malet
Mujtaba K Paprocki
Smith O Dilliard
Adams E Royster
Mujtaba I Campain
Morrow A Chui
Leon H Tollner
Smith Y Malet
David V Dilliard
David D Chui
Isabel J Flosi
Costa G Saylors
Mayumi K Rim
Adams J Figeroa
Salvatore Q Nestle
Smith O Nestle
Faith K Marrier
Kadeem L Maclead
Aruna Q Inouye
Aruna O Bowley
Adams Y Schemmer
Cody O Wieser
Wickens H Paprocki
IdCountryDate
1000Argentina2024-06-03
1001Japan2024-06-06
1002Argentina2024-06-05
1003France2024-05-26
1004Argentina2024-05-23
1005Italy2024-05-24
1006Brazil2024-06-08
1007Canada2024-05-28
1008Germany2024-06-03
1009India2024-06-12
1010Canada2024-05-27
1011Australia2024-06-08
1012Canada2024-06-07
1013Australia2024-05-25
1014France2024-05-28
1015Germany2024-05-27
1016Brazil2024-06-14
1017Germany2024-05-27
1018Russia2024-06-08
1019Australia2024-06-16
1020Italy2024-06-19
1021Canada2024-05-29
1022France2024-06-17
1023Russia2024-05-23
1024Brazil2024-06-15
1025Australia2024-06-03
1026France2024-06-12
1027India2024-05-29
1028India2024-05-28
1029Spain2024-06-07
1030Canada2024-05-24
1031Russia2024-05-23
1032Canada2024-06-03
1033United Kingdom2024-06-13
1034France2024-06-07
1035Canada2024-06-16
1036Brazil2024-05-30
1037Italy2024-06-06
1038Japan2024-06-06
1039France2024-06-05
1040India2024-06-01
1041France2024-06-10
1042Spain2024-06-10
1043India2024-06-17
1044Russia2024-05-25
1045India2024-05-23
1046Canada2024-05-27
1047Australia2024-05-24
1048Argentina2024-06-20
1049Brazil2024-06-10

On-Demand Data

NameIdCountryDate
Isabel C Morasca1000Italy2024-06-18
Deepesh V Maclead1001Argentina2024-05-31
Cody D Nicka1002Germany2024-06-02
Jeanfrancois K Kusko1003Australia2024-06-12
Morrow E Chui1004Australia2024-06-11
Jefferson O Foller1005Argentina2024-06-12
Kaitlin H Garufi1006India2024-06-05
Cody E Bolognia1007Argentina2024-06-12
Arvin O Iturbide1008Brazil2024-06-21
Maisha A Briddick1009Argentina2024-06-11
Adams G Garufi1010Australia2024-06-10
Murillo A Albares1011Japan2024-05-29
Francesco K Poquette1012Spain2024-06-04
Alejandro E Waycott1013France2024-06-07
Aditya F Bolognia1014Spain2024-06-17
Sinclair T Ferencz1015India2024-05-24
Jefferson O Caldarera1016Australia2024-05-29
Octavia B Ferencz1017United Kingdom2024-06-21
Darci I Figeroa1018Spain2024-06-19
Julie H Wieser1019Brazil2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson J InouyeUnited KingdomXuxue Feng QUALIFIED
Octavia D NickaIndiaBernardo Dominic QUALIFIED
James B DilliardFranceBernardo Dominic RENEWAL
Ivar O ButtArgentinaIoni Bowcher UNQUALIFIED
Chavez F WieserAustraliaXuxue Feng RENEWAL
Costa F PerinBrazilAmy Elsner NEGOTIATION
Jeanfrancois C OstroskyArgentinaStephen Shaw UNQUALIFIED
Jefferson Q MacleadRussiaElwin Sharvill NEW
Faith X GlickRussiaAnna Fali PROPOSAL
Tony O DoeUnited KingdomAmy Elsner NEW
Chavez I SlusarskiCanadaAmy Elsner QUALIFIED
Adams B SergiItalyElwin Sharvill NEGOTIATION
Adams D PerinIndiaAnna Fali UNQUALIFIED
Aruna I PerinGermanyIvan Magalhaes UNQUALIFIED
Julie D BowleyJapanStephen Shaw PROPOSAL
Adams U DilliardArgentinaAnna Fali NEGOTIATION
Salvatore H DoeAustraliaIvan Magalhaes PROPOSAL
Julie O WhobreyFranceBernardo Dominic UNQUALIFIED
Deepesh M GillianFranceXuxue Feng NEGOTIATION
Emily B SergiCanadaIvan Magalhaes NEGOTIATION
Jones V MaletCanadaAmy Elsner NEGOTIATION
Costa S MorascaGermanyAsiya Javayant QUALIFIED
Claire D BologniaBrazilXuxue Feng NEW
James T FollerSpainIoni Bowcher PROPOSAL
Kaitlin K RoysterRussiaXuxue Feng NEW
Kaitlin P VocelkaJapanIvan Magalhaes UNQUALIFIED
Leon U MaletSpainOnyama Limba QUALIFIED
Rodrigues Y GlickUnited KingdomAnna Fali RENEWAL
Ivar B DoeAustraliaXuxue Feng RENEWAL
James C DilliardArgentinaIvan Magalhaes NEGOTIATION
Murillo T SchemmerGermanyBernardo Dominic QUALIFIED
Alejandro R OldroydFranceOnyama Limba PROPOSAL
Greenwood Z SlusarskiItalyAmy Elsner QUALIFIED
Isabel M StensethGermanyAsiya Javayant RENEWAL
Jefferson Y MaletGermanyXuxue Feng UNQUALIFIED
Jeanfrancois S VenereFranceAmy Elsner NEGOTIATION
Arvin R ButtFranceOnyama Limba RENEWAL
Silvio Y IturbideRussiaXuxue Feng PROPOSAL
Rodrigues B GauchoSpainAnna Fali RENEWAL
Ashley B ShinkoIndiaXuxue Feng NEW

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