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 A ButtBrazilElwin Sharvill QUALIFIED
Arvin H OstroskyRussiaAnna Fali QUALIFIED
Isabel H VenereCanadaStephen Shaw NEGOTIATION
Ricardo G SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Jennifer D MaletArgentinaElwin Sharvill UNQUALIFIED
Stacey U FollerGermanyAsiya Javayant NEW
Antonio E FerenczIndiaBernardo Dominic PROPOSAL
Kaitlin C MaletRussiaBernardo Dominic PROPOSAL
Munro S InouyeArgentinaIoni Bowcher PROPOSAL
Tony U RoysterCanadaIvan Magalhaes UNQUALIFIED
Darci E BriddickFranceIvan Magalhaes NEW
Izzy V VenereArgentinaElwin Sharvill PROPOSAL
Kadeem W TollnerSpainStephen Shaw PROPOSAL
Alejandro W CampainCanadaElwin Sharvill PROPOSAL
Wickens E PaprockiItalyAmy Elsner NEGOTIATION
Ivar M IturbideSpainXuxue Feng QUALIFIED
Aruna W ButtAustraliaAsiya Javayant UNQUALIFIED
Nicolas B FigeroaFranceAsiya Javayant NEW
Darci D RulapaughArgentinaBernardo Dominic NEGOTIATION
Isabel L RoysterJapanStephen Shaw QUALIFIED
Nicolas K BowleyArgentinaElwin Sharvill QUALIFIED
Jennifer J DilliardUnited KingdomOnyama Limba NEW
Julie D KolmetzBrazilXuxue Feng QUALIFIED
Alejandro Q PaprockiAustraliaBernardo Dominic PROPOSAL
Deepesh V RoysterSpainStephen Shaw NEGOTIATION
Cody O DarakjyRussiaIoni Bowcher RENEWAL
Alejandro I MaletArgentinaIoni Bowcher NEW
Misaki Y FigeroaAustraliaAsiya Javayant NEGOTIATION
Greenwood M GarufiIndiaAnna Fali QUALIFIED
Morrow V DarakjySpainAmy Elsner UNQUALIFIED
Nicolas J ShinkoArgentinaIoni Bowcher QUALIFIED
Maria J SlusarskiAustraliaXuxue Feng QUALIFIED
Morrow E FollerItalyBernardo Dominic NEW
Wickens F KuskoArgentinaStephen Shaw NEGOTIATION
Tony M SaylorsArgentinaAmy Elsner NEW
Munro S OstroskyCanadaAnna Fali NEGOTIATION
Kaitlin O VocelkaBrazilXuxue Feng PROPOSAL
Jeanfrancois U OldroydUnited KingdomAmy Elsner QUALIFIED
Greenwood T StockhamCanadaAmy Elsner UNQUALIFIED
Morrow G KuskoBrazilAmy Elsner NEGOTIATION
David N ButtGermanyStephen Shaw RENEWAL
Wickens B RutaSpainAnna Fali NEGOTIATION
James N PaprockiGermanyElwin Sharvill UNQUALIFIED
Kadeem J ChuiIndiaXuxue Feng UNQUALIFIED
Faith Z ChuiItalyAmy Elsner UNQUALIFIED
Chavez D CaudyItalyIoni Bowcher UNQUALIFIED
Octavia M NickaSpainElwin Sharvill NEGOTIATION
Johnson L NestleItalyElwin Sharvill PROPOSAL
Stacey D NestleUnited KingdomIvan Magalhaes NEGOTIATION
Leja Z GauchoJapanAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David Q NickaBrazilIvan Magalhaes NEW
Wickens A SergiAustraliaElwin Sharvill PROPOSAL
Izzy X DilliardIndiaIvan Magalhaes NEGOTIATION
Cody A FlosiCanadaAnna Fali RENEWAL
Aruna W MaletCanadaElwin Sharvill NEGOTIATION
Maria L InouyeSpainAmy Elsner NEW
Mayumi E FigeroaSpainOnyama Limba UNQUALIFIED
Clifford Z NickaAustraliaIoni Bowcher RENEWAL
Emily N PoquetteSpainAsiya Javayant UNQUALIFIED
Silvio M AlbaresSpainIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire C RoysterBrazil2024-05-28Feiner Bros NEW15Onyama Limba
1001Greenwood K SaylorsRussia2024-06-20Morlong Associates QUALIFIED88Anna Fali
1002Ivar N DilliardUnited Kingdom2024-06-17Feiner Bros NEGOTIATION4Onyama Limba
1003Silvio Q FlosiBrazil2024-05-24Benton, John B Jr UNQUALIFIED55Stephen Shaw
1004Aika Z KuskoIndia2024-06-19Buckley Miller Wright NEGOTIATION47Amy Elsner
1005Chavez A GarufiIndia2024-06-08Chapman, Ross E Esq NEW43Xuxue Feng
1006Octavia V KolmetzIndia2024-06-14Buckley Miller Wright NEGOTIATION11Bernardo Dominic
1007Arvin L VocelkaIndia2024-05-26King, Christopher A Esq RENEWAL77Elwin Sharvill
1008Antonio A OstroskyAustralia2024-06-18King, Christopher A Esq UNQUALIFIED45Stephen Shaw
1009Leon E SlusarskiUnited Kingdom2024-06-20Printing Dimensions PROPOSAL30Ioni Bowcher
1010Costa Y OldroydAustralia2024-06-21Benton, John B Jr PROPOSAL37Ioni Bowcher
1011Jeanfrancois D RimRussia2024-05-29Commercial Press NEW24Xuxue Feng
1012Silvio M MarrierSpain2024-05-30Chemel, James L Cpa RENEWAL77Ioni Bowcher
1013Claire N CampainIndia2024-06-02Commercial Press PROPOSAL32Bernardo Dominic
1014Claire B OldroydGermany2024-06-02Chapman, Ross E Esq NEGOTIATION61Xuxue Feng
1015Claire C SaylorsAustralia2024-06-07King, Christopher A Esq PROPOSAL32Bernardo Dominic
1016Jefferson V PerinRussia2024-05-25Buckley Miller Wright NEW83Amy Elsner
1017Chavez M FollerBrazil2024-05-26Feltz Printing Service NEW51Bernardo Dominic
1018Nicolas Z ShinkoAustralia2024-06-12Rousseaux, Michael Esq NEGOTIATION7Elwin Sharvill
1019Faith S KolmetzIndia2024-06-08Rousseaux, Michael Esq NEW40Bernardo Dominic
1020Arvin F GauchoIndia2024-06-20Dorl, James J Esq PROPOSAL35Bernardo Dominic
1021Mayumi V SchemmerUnited Kingdom2024-06-01Chemel, James L Cpa RENEWAL47Onyama Limba
1022Isabel T BowleyArgentina2024-06-02Dorl, James J Esq RENEWAL61Anna Fali
1023Salvatore A PaprockiSpain2024-06-13Benton, John B Jr NEW25Stephen Shaw
1024Clifford F RulapaughArgentina2024-06-11Feltz Printing Service PROPOSAL48Xuxue Feng
1025Deepesh A FollerItaly2024-06-14Feiner Bros UNQUALIFIED26Anna Fali
1026Emily F DoeAustralia2024-06-17Chemel, James L Cpa NEW10Anna Fali
1027Costa C SaylorsIndia2024-05-30Feiner Bros PROPOSAL59Amy Elsner
1028Murillo A MaletAustralia2024-06-04Buckley Miller Wright UNQUALIFIED28Asiya Javayant
1029Maisha T NestleJapan2024-06-10Morlong Associates QUALIFIED47Stephen Shaw
1030Nicolas X RulapaughIndia2024-06-07Feltz Printing Service QUALIFIED96Asiya Javayant
1031Mujtaba U KuskoArgentina2024-06-17Chemel, James L Cpa QUALIFIED15Ivan Magalhaes
1032Jones U GlickGermany2024-06-22King, Christopher A Esq NEGOTIATION57Asiya Javayant
1033Maisha W AlbaresBrazil2024-06-13Printing Dimensions UNQUALIFIED87Asiya Javayant
1034Rodrigues V MaletBrazil2024-06-08Chemel, James L Cpa PROPOSAL1Onyama Limba
1035Wickens H StensethJapan2024-06-06Buckley Miller Wright QUALIFIED80Anna Fali
1036Aditya T NestleUnited Kingdom2024-06-08Dorl, James J Esq RENEWAL9Stephen Shaw
1037Mayumi J DoeBrazil2024-06-11Feiner Bros UNQUALIFIED88Xuxue Feng
1038Faith K GlickBrazil2024-06-13Buckley Miller Wright NEGOTIATION31Onyama Limba
1039Jennifer S SlusarskiUnited Kingdom2024-06-16Chapman, Ross E Esq NEW95Ioni Bowcher
1040James U ShinkoJapan2024-05-28Rangoni Of Florence NEGOTIATION48Asiya Javayant
1041Maria Q CaudyUnited Kingdom2024-06-20Benton, John B Jr UNQUALIFIED4Bernardo Dominic
1042Jeanfrancois W OldroydArgentina2024-06-12Rangoni Of Florence NEGOTIATION47Asiya Javayant
1043Mayumi A AmigonUnited Kingdom2024-06-22Rangoni Of Florence QUALIFIED68Onyama Limba
1044Murillo U RulapaughArgentina2024-06-10Commercial Press PROPOSAL13Asiya Javayant
1045Morrow R BriddickItaly2024-06-17Morlong Associates PROPOSAL71Xuxue Feng
1046Francesco Z ShinkoAustralia2024-06-18Feiner Bros RENEWAL75Bernardo Dominic
1047Isabel U GlickAustralia2024-06-05Rousseaux, Michael Esq QUALIFIED49Anna Fali
1048Cody H SaylorsRussia2024-06-14Morlong Associates NEW32Elwin Sharvill
1049Salvatore B KuskoAustralia2024-06-10Chemel, James L Cpa UNQUALIFIED59Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Misaki P ChuiBrazilOnyama Limba NEGOTIATION
Stacey A DilliardJapanAmy Elsner UNQUALIFIED
Alejandro G SchemmerFranceStephen Shaw UNQUALIFIED
Clifford D WaycottSpainAmy Elsner PROPOSAL
Kadeem D ButtBrazilIvan Magalhaes UNQUALIFIED
Stacey V AlbaresAustraliaAsiya Javayant PROPOSAL
Leja S PaprockiIndiaAmy Elsner NEW
Emily P SchemmerIndiaOnyama Limba QUALIFIED
Julie E PaprockiRussiaAmy Elsner UNQUALIFIED
Aditya G SlusarskiRussiaAmy Elsner PROPOSAL
Rodrigues J RimAustraliaBernardo Dominic QUALIFIED
Silvio E WhobreyIndiaOnyama Limba RENEWAL
Francesco N PoquetteAustraliaIvan Magalhaes NEGOTIATION
Tony S SaylorsUnited KingdomElwin Sharvill PROPOSAL
Munro K ChuiIndiaXuxue Feng NEW
Arvin Y SlusarskiGermanyAnna Fali RENEWAL
Isabel S ChuiBrazilIoni Bowcher QUALIFIED
Jones I GlickIndiaIvan Magalhaes PROPOSAL
Octavia W OldroydFranceXuxue Feng PROPOSAL
Leja E ShinkoJapanBernardo Dominic RENEWAL
David H MorascaAustraliaOnyama Limba RENEWAL
Antonio Z AlbaresUnited KingdomElwin Sharvill UNQUALIFIED
Jennifer Y CaudyAustraliaBernardo Dominic NEW
Antonio N CaudyArgentinaAsiya Javayant NEW
Chavez D ChuiSpainAnna Fali NEW
Costa A GlickArgentinaIvan Magalhaes UNQUALIFIED
Aruna T DarakjyArgentinaElwin Sharvill NEW
Silvio L BologniaUnited KingdomAmy Elsner NEGOTIATION
Adams A SchemmerFranceIoni Bowcher RENEWAL
Rodrigues Q MacleadUnited KingdomIvan Magalhaes UNQUALIFIED
Aika L StensethAustraliaIoni Bowcher RENEWAL
Johnson P MorascaJapanOnyama Limba RENEWAL
Deepesh V AlbaresGermanyIvan Magalhaes NEW
Jeanfrancois Y PoquetteFranceIoni Bowcher NEGOTIATION
Aruna A IturbideFranceElwin Sharvill QUALIFIED
Murillo R ButtGermanyOnyama Limba NEW
Octavia J RoysterCanadaIvan Magalhaes UNQUALIFIED
Nicolas G WieserRussiaXuxue Feng PROPOSAL
Stacey E OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Wickens N SchemmerIndiaAsiya Javayant PROPOSAL
Nicolas R SlusarskiRussiaElwin Sharvill QUALIFIED
Stacey C SchemmerArgentinaOnyama Limba QUALIFIED
Aruna I VenereJapanAnna Fali NEW
Smith U RimCanadaIoni Bowcher QUALIFIED
Morrow S CampainArgentinaAsiya Javayant QUALIFIED
Darci O RoysterJapanAsiya Javayant NEGOTIATION
Jones E MacleadItalyIvan Magalhaes RENEWAL
Juan R GarufiFranceIoni Bowcher UNQUALIFIED
Costa J SchemmerSpainBernardo Dominic UNQUALIFIED
Smith U ChuiCanadaStephen Shaw RENEWAL
Frozen Columns
Name
Mujtaba U Ostrosky
Aditya E Gaucho
Ricardo M Butt
Antonio J Royster
Tony J Foller
Kadeem Y Waycott
Emily S Caldarera
Jefferson N Caudy
Mayumi V Vocelka
Ivar O Morasca
Aditya H Rulapaugh
Leja T Venere
Sinclair L Ruta
Jefferson Q Royster
Smith C Malet
Clifford U Butt
Jeanfrancois T Perin
Munro M Rulapaugh
Cody I Stenseth
Darci W Perin
Ivar L Bolognia
Cody C Sergi
Greenwood V Wieser
James O Venere
Cody G Foller
Kadeem E Paprocki
Faith R Chui
Maria R Ostrosky
Aditya I Bolognia
Clifford Y Briddick
Leon Q Amigon
Aruna V Perin
Antonio U Maclead
Jefferson S Amigon
Stacey A Wieser
Munro L Kolmetz
Octavia G Ostrosky
Jeanfrancois Z Briddick
Deepesh B Malet
Greenwood R Maclead
Stacey R Kusko
Maria K Campain
Kaitlin G Paprocki
Aruna T Albares
Stacey L Ostrosky
Maisha K Ruta
Jeanfrancois Q Briddick
Julie C Kusko
Faith O Waycott
Kadeem E Ferencz
IdCountryDate
1000France2024-06-18
1001Argentina2024-06-04
1002France2024-06-16
1003Australia2024-05-28
1004Italy2024-06-15
1005United Kingdom2024-06-11
1006Japan2024-05-28
1007Italy2024-06-09
1008Italy2024-06-13
1009Germany2024-06-15
1010United Kingdom2024-06-07
1011United Kingdom2024-06-20
1012Germany2024-05-27
1013Brazil2024-06-05
1014Australia2024-06-09
1015Japan2024-06-10
1016Brazil2024-06-18
1017Russia2024-06-21
1018Argentina2024-06-18
1019India2024-06-14
1020India2024-05-31
1021Spain2024-06-17
1022Italy2024-06-02
1023Japan2024-06-06
1024Russia2024-05-27
1025Italy2024-06-06
1026Spain2024-06-17
1027Italy2024-06-04
1028Italy2024-06-18
1029Russia2024-06-09
1030United Kingdom2024-06-02
1031Italy2024-06-04
1032Spain2024-06-22
1033France2024-05-30
1034France2024-05-28
1035Russia2024-06-12
1036United Kingdom2024-05-24
1037Australia2024-06-10
1038Italy2024-06-04
1039Germany2024-06-18
1040Germany2024-05-26
1041United Kingdom2024-06-22
1042India2024-06-11
1043France2024-06-22
1044Brazil2024-06-07
1045India2024-06-08
1046Spain2024-05-28
1047Italy2024-06-19
1048Australia2024-05-25
1049France2024-06-06

On-Demand Data

NameIdCountryDate
Mayumi Y Morasca1000Japan2024-06-04
Smith H Malet1001Japan2024-05-26
Costa Y Inouye1002Canada2024-05-25
Greenwood Y Malet1003United Kingdom2024-05-29
Silvio Y Butt1004Canada2024-06-18
Alejandro L Dilliard1005Australia2024-06-19
Chavez Z Tollner1006Australia2024-06-08
Cody O Caldarera1007Australia2024-06-12
Arvin T Waycott1008Argentina2024-06-09
Arvin I Bowley1009Australia2024-06-04
Aika A Malet1010India2024-06-08
Smith O Gaucho1011France2024-06-17
Morrow P Darakjy1012France2024-06-04
Octavia U Perin1013United Kingdom2024-06-03
James E Rim1014Italy2024-06-18
Antonio W Caldarera1015Canada2024-05-26
Chavez D Gaucho1016Italy2024-05-30
Darci U Malet1017Italy2024-05-24
Tony N Slusarski1018United Kingdom2024-06-11
Leja Y Slusarski1019Russia2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel V AmigonIndiaAnna Fali NEW
Ricardo P MaletGermanyElwin Sharvill PROPOSAL
Mujtaba J InouyeGermanyAnna Fali NEGOTIATION
Arvin P OstroskyCanadaAnna Fali QUALIFIED
Johnson T OldroydAustraliaXuxue Feng RENEWAL
Chavez H OldroydAustraliaAnna Fali NEGOTIATION
Johnson I FerenczBrazilXuxue Feng QUALIFIED
Antonio L FigeroaRussiaXuxue Feng NEGOTIATION
Arvin Q DoeSpainIvan Magalhaes NEW
Francesco B SaylorsArgentinaAnna Fali UNQUALIFIED
Clifford T SchemmerArgentinaElwin Sharvill RENEWAL
Francesco I SlusarskiBrazilAnna Fali PROPOSAL
Tony P BowleyIndiaElwin Sharvill NEGOTIATION
Rodrigues L FerenczBrazilIoni Bowcher NEW
Ricardo L PerinSpainAnna Fali PROPOSAL
Isabel U CampainUnited KingdomAsiya Javayant QUALIFIED
David F RutaGermanyAsiya Javayant UNQUALIFIED
Izzy P MacleadGermanyAsiya Javayant RENEWAL
Mayumi J SlusarskiUnited KingdomIoni Bowcher UNQUALIFIED
Costa G BriddickAustraliaAnna Fali PROPOSAL
Cody A GillianArgentinaAmy Elsner NEW
Johnson W PaprockiFranceStephen Shaw NEGOTIATION
Munro B VocelkaCanadaAnna Fali NEW
Rodrigues C ButtBrazilStephen Shaw NEW
Nicolas Z OldroydIndiaIvan Magalhaes UNQUALIFIED
Mujtaba N PerinGermanyStephen Shaw QUALIFIED
Wickens S AmigonArgentinaIoni Bowcher PROPOSAL
Morrow T CaudyArgentinaOnyama Limba NEGOTIATION
Leon S CaudyArgentinaBernardo Dominic RENEWAL
Deepesh Q DarakjyRussiaAnna Fali PROPOSAL
Wickens B FigeroaSpainAnna Fali NEGOTIATION
Salvatore Q MorascaArgentinaAmy Elsner NEGOTIATION
Isabel Z FollerSpainAnna Fali NEW
Greenwood I FigeroaItalyAmy Elsner RENEWAL
Wickens A VenereCanadaAmy Elsner UNQUALIFIED
Silvio V NestleJapanElwin Sharvill NEGOTIATION
Smith P FlosiRussiaAmy Elsner PROPOSAL
Isabel L ChuiUnited KingdomAnna Fali NEGOTIATION
Mayumi Q KolmetzRussiaAnna Fali NEGOTIATION
Costa Y NickaJapanBernardo Dominic 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>