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 N CaldareraArgentinaIoni Bowcher PROPOSAL
Darci X NickaCanadaAsiya Javayant UNQUALIFIED
Claire A IturbideIndiaBernardo Dominic RENEWAL
Ashley Q MacleadBrazilOnyama Limba NEGOTIATION
Aruna N MacleadAustraliaAnna Fali QUALIFIED
Izzy G IturbideUnited KingdomElwin Sharvill NEW
Kadeem J StensethSpainStephen Shaw RENEWAL
Morrow O DarakjyCanadaIvan Magalhaes NEW
Emily A MaletItalyBernardo Dominic NEW
Francesco Y MarrierGermanyAsiya Javayant PROPOSAL
Tony N RutaIndiaAmy Elsner QUALIFIED
Alejandro L VocelkaSpainAnna Fali NEW
Jennifer A NestleFranceStephen Shaw QUALIFIED
Kaitlin V PaprockiCanadaIoni Bowcher NEGOTIATION
Jefferson B SergiSpainAsiya Javayant UNQUALIFIED
Leja U KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Izzy G WaycottCanadaBernardo Dominic NEGOTIATION
Wickens M StensethAustraliaBernardo Dominic NEGOTIATION
Nicolas G WieserJapanAsiya Javayant NEGOTIATION
Leon Q StensethGermanyOnyama Limba RENEWAL
Izzy G NickaUnited KingdomBernardo Dominic NEW
James A StensethArgentinaBernardo Dominic RENEWAL
Stacey J MaletArgentinaBernardo Dominic RENEWAL
Arvin J VenereCanadaBernardo Dominic UNQUALIFIED
Maria N FollerAustraliaIoni Bowcher UNQUALIFIED
Isabel T WhobreyCanadaBernardo Dominic UNQUALIFIED
Julie K MaletItalyStephen Shaw RENEWAL
Wickens V GarufiAustraliaIvan Magalhaes RENEWAL
Rodrigues S CampainAustraliaBernardo Dominic QUALIFIED
Isabel E FerenczItalyStephen Shaw QUALIFIED
Julie Y TollnerUnited KingdomAmy Elsner UNQUALIFIED
Sinclair J FerenczArgentinaAsiya Javayant PROPOSAL
Deepesh N VenereIndiaBernardo Dominic RENEWAL
Leon I PaprockiRussiaBernardo Dominic PROPOSAL
Isabel F MaletItalyXuxue Feng UNQUALIFIED
Silvio H FerenczAustraliaAmy Elsner PROPOSAL
Leon Q DoeBrazilOnyama Limba QUALIFIED
Leja H BologniaFranceAsiya Javayant RENEWAL
Tony J RimJapanElwin Sharvill UNQUALIFIED
Johnson G KolmetzGermanyAnna Fali NEW
Antonio H BriddickArgentinaIoni Bowcher RENEWAL
Julie T SergiAustraliaBernardo Dominic PROPOSAL
Adams X OstroskyRussiaAsiya Javayant NEW
Johnson Q SaylorsAustraliaAsiya Javayant QUALIFIED
Nicolas D RimRussiaElwin Sharvill UNQUALIFIED
Arvin R InouyeGermanyAnna Fali UNQUALIFIED
Julie E FollerSpainOnyama Limba QUALIFIED
Jefferson W IturbideRussiaAsiya Javayant RENEWAL
Jones T FigeroaAustraliaBernardo Dominic UNQUALIFIED
James Y KuskoSpainElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja M GarufiUnited KingdomAmy Elsner NEW
Faith G FerenczArgentinaBernardo Dominic PROPOSAL
Misaki U SaylorsBrazilAsiya Javayant QUALIFIED
Cody Z MaletUnited KingdomIvan Magalhaes PROPOSAL
Ricardo G GauchoSpainStephen Shaw RENEWAL
Stacey F WhobreyBrazilElwin Sharvill QUALIFIED
Juan E MaletArgentinaIvan Magalhaes UNQUALIFIED
Morrow D SlusarskiItalyXuxue Feng NEGOTIATION
Kaitlin W GauchoJapanElwin Sharvill UNQUALIFIED
Aika C BologniaIndiaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia E InouyeRussia2024-05-26Feiner Bros RENEWAL24Anna Fali
1001Jefferson O WhobreyGermany2024-06-13Feiner Bros NEGOTIATION9Xuxue Feng
1002Jefferson X FollerItaly2024-06-18Chapman, Ross E Esq NEGOTIATION96Ioni Bowcher
1003Morrow B AmigonUnited Kingdom2024-06-22Rangoni Of Florence PROPOSAL65Ioni Bowcher
1004Leon L FollerCanada2024-05-30Truhlar And Truhlar Attys PROPOSAL77Stephen Shaw
1005Chavez D InouyeRussia2024-06-04Benton, John B Jr NEGOTIATION55Xuxue Feng
1006David G RimRussia2024-05-27Benton, John B Jr QUALIFIED34Xuxue Feng
1007Leja B RoysterRussia2024-06-15Buckley Miller Wright NEW41Xuxue Feng
1008Jennifer I WhobreyAustralia2024-06-05Chemel, James L Cpa PROPOSAL62Onyama Limba
1009Misaki M BriddickJapan2024-06-20Truhlar And Truhlar Attys RENEWAL58Asiya Javayant
1010Kaitlin O CaudyJapan2024-06-08Benton, John B Jr RENEWAL91Bernardo Dominic
1011Greenwood I VocelkaGermany2024-06-18Buckley Miller Wright QUALIFIED62Anna Fali
1012Arvin O VocelkaBrazil2024-05-27Feiner Bros NEGOTIATION42Amy Elsner
1013James I VenereArgentina2024-06-07Printing Dimensions QUALIFIED11Asiya Javayant
1014Ricardo V MaletBrazil2024-06-16Morlong Associates QUALIFIED93Amy Elsner
1015Munro A PoquetteCanada2024-06-04Commercial Press NEGOTIATION58Elwin Sharvill
1016Octavia Y BriddickArgentina2024-06-10Chanay, Jeffrey A Esq QUALIFIED57Stephen Shaw
1017Wickens Z MaletGermany2024-05-24Rangoni Of Florence RENEWAL64Bernardo Dominic
1018Francesco L BologniaItaly2024-06-07Chanay, Jeffrey A Esq RENEWAL43Stephen Shaw
1019Johnson E FlosiSpain2024-05-26Printing Dimensions PROPOSAL73Stephen Shaw
1020Aika G BologniaJapan2024-05-31Feltz Printing Service RENEWAL12Stephen Shaw
1021Claire W GarufiAustralia2024-06-12Rangoni Of Florence NEW10Anna Fali
1022Misaki I PoquetteItaly2024-05-28Chemel, James L Cpa NEGOTIATION91Xuxue Feng
1023Alejandro Z MaletCanada2024-05-26Rousseaux, Michael Esq RENEWAL57Asiya Javayant
1024Silvio P FollerIndia2024-06-01Chapman, Ross E Esq RENEWAL2Amy Elsner
1025Sinclair F ShinkoItaly2024-06-12King, Christopher A Esq UNQUALIFIED6Elwin Sharvill
1026Misaki Y FlosiFrance2024-05-26Rousseaux, Michael Esq NEW76Xuxue Feng
1027Leja K DoeIndia2024-06-16Chemel, James L Cpa PROPOSAL6Asiya Javayant
1028Isabel S DoeCanada2024-05-25Feltz Printing Service PROPOSAL78Xuxue Feng
1029Juan P FollerItaly2024-05-27Chapman, Ross E Esq UNQUALIFIED47Ivan Magalhaes
1030Silvio I VenereCanada2024-05-24Rousseaux, Michael Esq RENEWAL88Anna Fali
1031Morrow A MaletArgentina2024-06-15Buckley Miller Wright UNQUALIFIED88Ivan Magalhaes
1032Misaki E TollnerAustralia2024-06-04Rangoni Of Florence PROPOSAL4Amy Elsner
1033Faith Z GauchoBrazil2024-06-08Printing Dimensions NEW84Stephen Shaw
1034Darci N GarufiSpain2024-06-01Benton, John B Jr NEW17Amy Elsner
1035James G KolmetzJapan2024-06-02Chapman, Ross E Esq UNQUALIFIED28Amy Elsner
1036Ivar F DilliardIndia2024-06-16Commercial Press PROPOSAL94Xuxue Feng
1037Maria S VocelkaRussia2024-06-08Chapman, Ross E Esq NEGOTIATION50Ivan Magalhaes
1038Ricardo N PaprockiArgentina2024-06-15Buckley Miller Wright NEW84Stephen Shaw
1039Adams J SergiIndia2024-06-21Truhlar And Truhlar Attys RENEWAL22Ioni Bowcher
1040Johnson E ChuiBrazil2024-06-13Truhlar And Truhlar Attys QUALIFIED98Elwin Sharvill
1041Juan B StensethUnited Kingdom2024-06-20Rousseaux, Michael Esq QUALIFIED94Bernardo Dominic
1042Darci I AlbaresGermany2024-06-18Truhlar And Truhlar Attys PROPOSAL39Anna Fali
1043Ivar O FerenczUnited Kingdom2024-06-07Benton, John B Jr NEGOTIATION9Bernardo Dominic
1044Nicolas S OstroskySpain2024-05-30Feltz Printing Service NEGOTIATION95Elwin Sharvill
1045Ricardo A TollnerSpain2024-06-14Chanay, Jeffrey A Esq NEGOTIATION77Elwin Sharvill
1046Darci O OstroskyBrazil2024-06-20Benton, John B Jr PROPOSAL90Anna Fali
1047Rodrigues B ShinkoIndia2024-06-05Dorl, James J Esq NEGOTIATION85Stephen Shaw
1048Jennifer R MacleadFrance2024-05-24Benton, John B Jr UNQUALIFIED30Bernardo Dominic
1049Claire B SaylorsUnited Kingdom2024-06-11Commercial Press NEGOTIATION97Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Leja S StockhamCanadaElwin Sharvill RENEWAL
Chavez E ShinkoGermanyElwin Sharvill NEGOTIATION
Darci X CaudySpainStephen Shaw QUALIFIED
Mujtaba J MacleadItalyOnyama Limba UNQUALIFIED
Adams Y WhobreyItalyStephen Shaw QUALIFIED
Claire T GarufiCanadaXuxue Feng QUALIFIED
Adams E DoeArgentinaAmy Elsner PROPOSAL
Emily I RoysterJapanOnyama Limba UNQUALIFIED
Maisha A DilliardUnited KingdomElwin Sharvill QUALIFIED
Costa G BriddickFranceStephen Shaw NEW
Juan Y StockhamCanadaStephen Shaw QUALIFIED
Leja J FollerJapanAnna Fali PROPOSAL
Jeanfrancois D ShinkoCanadaOnyama Limba QUALIFIED
Antonio L CaudyCanadaIvan Magalhaes QUALIFIED
Silvio Y MorascaItalyIoni Bowcher PROPOSAL
Costa G BowleyRussiaOnyama Limba UNQUALIFIED
Maisha T CampainCanadaIoni Bowcher NEGOTIATION
Octavia R StensethFranceAmy Elsner QUALIFIED
Ivar G MaletJapanIvan Magalhaes RENEWAL
Stacey I GlickBrazilAmy Elsner PROPOSAL
Clifford J DarakjyArgentinaXuxue Feng QUALIFIED
Deepesh A DilliardUnited KingdomStephen Shaw RENEWAL
Adams E SergiFranceOnyama Limba QUALIFIED
Nicolas H DarakjyCanadaAsiya Javayant QUALIFIED
Wickens K ShinkoItalyOnyama Limba RENEWAL
Clifford V NickaJapanBernardo Dominic NEW
Maria E SergiUnited KingdomAsiya Javayant PROPOSAL
Smith Y PoquetteIndiaAnna Fali PROPOSAL
Juan M KuskoJapanOnyama Limba PROPOSAL
Faith K PoquetteSpainElwin Sharvill PROPOSAL
Rodrigues T SergiSpainAnna Fali NEW
Jeanfrancois P SaylorsGermanyOnyama Limba NEGOTIATION
Isabel P BowleyGermanyAsiya Javayant PROPOSAL
Antonio X AmigonGermanyIoni Bowcher UNQUALIFIED
Aruna L TollnerRussiaOnyama Limba PROPOSAL
Kadeem F SaylorsSpainIvan Magalhaes QUALIFIED
Izzy V MorascaArgentinaIvan Magalhaes UNQUALIFIED
Mujtaba Y TollnerAustraliaElwin Sharvill PROPOSAL
Rodrigues L KuskoBrazilAnna Fali QUALIFIED
Cody T InouyeArgentinaAnna Fali QUALIFIED
Deepesh X AlbaresGermanyBernardo Dominic UNQUALIFIED
Greenwood Z MacleadBrazilOnyama Limba NEW
Smith N StockhamUnited KingdomBernardo Dominic QUALIFIED
Morrow C AlbaresRussiaIvan Magalhaes NEGOTIATION
Greenwood B GauchoGermanyElwin Sharvill QUALIFIED
Julie T WaycottJapanAmy Elsner RENEWAL
Emily Y SchemmerGermanyAnna Fali NEW
Kadeem R WieserAustraliaIvan Magalhaes NEGOTIATION
Sinclair Q ChuiBrazilAnna Fali NEGOTIATION
Stacey M CaudyGermanyIoni Bowcher NEW
Frozen Columns
Name
Faith G Butt
Izzy K Foller
Kadeem X Chui
Maisha S Rulapaugh
Chavez G Bowley
Silvio T Glick
Johnson F Shinko
Salvatore I Rim
Tony U Butt
Rodrigues U Albares
Faith C Dilliard
Isabel F Royster
Costa E Poquette
Salvatore O Garufi
David F Kolmetz
Izzy V Malet
Leon R Paprocki
Aika V Inouye
Sinclair M Malet
Misaki A Butt
Cody E Inouye
David D Perin
Emily C Nestle
Mujtaba C Gaucho
Ashley V Vocelka
Silvio P Caldarera
Faith H Rulapaugh
Costa W Foller
Costa L Amigon
Morrow R Sergi
Johnson N Albares
Murillo A Figeroa
Julie Z Tollner
Rodrigues A Tollner
Alejandro Z Glick
Misaki G Oldroyd
Darci S Slusarski
Jones N Gaucho
Leon Y Venere
Jennifer O Morasca
Stacey Q Kolmetz
Darci J Stenseth
Aika M Royster
Silvio V Perin
Tony E Butt
Antonio T Poquette
Faith W Perin
Mujtaba K Foller
Jeanfrancois L Whobrey
Izzy R Albares
IdCountryDate
1000Japan2024-06-01
1001Spain2024-05-28
1002Japan2024-05-27
1003Argentina2024-06-09
1004France2024-06-02
1005Australia2024-05-27
1006United Kingdom2024-06-19
1007Brazil2024-06-22
1008Germany2024-05-28
1009Russia2024-06-11
1010France2024-06-18
1011Russia2024-06-21
1012Spain2024-06-16
1013Russia2024-06-04
1014Japan2024-05-30
1015Brazil2024-06-01
1016Canada2024-06-14
1017Canada2024-05-25
1018Japan2024-05-27
1019Spain2024-06-21
1020Japan2024-06-13
1021Italy2024-06-12
1022Italy2024-06-04
1023Russia2024-06-16
1024Argentina2024-06-13
1025Italy2024-05-24
1026Germany2024-05-29
1027Spain2024-06-04
1028Argentina2024-06-10
1029Brazil2024-06-16
1030Brazil2024-06-12
1031Brazil2024-06-12
1032United Kingdom2024-06-18
1033Australia2024-05-28
1034Argentina2024-05-30
1035Germany2024-05-30
1036Canada2024-06-16
1037France2024-06-16
1038Canada2024-06-21
1039Japan2024-06-21
1040Italy2024-06-10
1041India2024-06-17
1042Canada2024-06-14
1043Italy2024-06-21
1044Australia2024-06-06
1045France2024-06-01
1046Russia2024-06-16
1047Australia2024-06-12
1048Brazil2024-06-18
1049Brazil2024-06-05

On-Demand Data

NameIdCountryDate
Jones X Sergi1000Brazil2024-06-01
Kaitlin N Darakjy1001Australia2024-05-24
Jefferson L Morasca1002Argentina2024-06-01
Ricardo M Butt1003India2024-05-28
Emily O Royster1004India2024-05-30
Cody R Campain1005Spain2024-06-15
Faith G Ruta1006Argentina2024-06-03
Antonio N Malet1007Canada2024-05-28
Silvio A Caldarera1008India2024-06-11
Antonio M Doe1009Russia2024-06-17
Maria W Ostrosky1010Germany2024-06-20
James O Ferencz1011Canada2024-06-13
Julie S Caudy1012India2024-05-30
Claire C Poquette1013Spain2024-05-28
Cody R Chui1014United Kingdom2024-06-22
Adams A Marrier1015India2024-05-24
Leja J Doe1016Argentina2024-06-14
Mayumi W Rim1017Germany2024-05-27
Johnson V Doe1018India2024-06-18
Octavia S Rulapaugh1019Spain2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin L SaylorsCanadaStephen Shaw RENEWAL
Arvin W MaletIndiaXuxue Feng QUALIFIED
Nicolas R StockhamJapanAnna Fali RENEWAL
Jeanfrancois O InouyeFranceBernardo Dominic PROPOSAL
Silvio O CaldareraUnited KingdomBernardo Dominic NEGOTIATION
Alejandro X RoysterJapanAsiya Javayant NEW
Adams F DoeIndiaStephen Shaw RENEWAL
Murillo F FerenczCanadaAmy Elsner UNQUALIFIED
Arvin U RulapaughSpainStephen Shaw NEW
Emily D FerenczArgentinaIoni Bowcher PROPOSAL
Isabel N GillianRussiaAsiya Javayant UNQUALIFIED
Octavia K FollerItalyBernardo Dominic NEW
Jennifer Q GlickArgentinaStephen Shaw NEGOTIATION
Julie I BriddickUnited KingdomAnna Fali RENEWAL
Mujtaba C BriddickSpainIvan Magalhaes UNQUALIFIED
Nicolas U ChuiIndiaAmy Elsner NEGOTIATION
Sinclair L MacleadArgentinaStephen Shaw QUALIFIED
Alejandro Z ShinkoIndiaBernardo Dominic NEW
Tony P DarakjyJapanBernardo Dominic NEGOTIATION
Darci W FerenczGermanyBernardo Dominic UNQUALIFIED
James E SchemmerItalyElwin Sharvill PROPOSAL
James A WieserArgentinaIvan Magalhaes QUALIFIED
Jefferson B MaletFranceStephen Shaw PROPOSAL
Octavia W ChuiAustraliaAmy Elsner NEW
David X DarakjyCanadaElwin Sharvill RENEWAL
Juan H MaletUnited KingdomAmy Elsner RENEWAL
Maisha T AlbaresItalyElwin Sharvill NEW
David D SaylorsBrazilIoni Bowcher PROPOSAL
Adams B StensethGermanyAmy Elsner QUALIFIED
Stacey H GillianSpainXuxue Feng NEGOTIATION
Greenwood L BologniaCanadaXuxue Feng NEW
Francesco O DoeAustraliaStephen Shaw PROPOSAL
Faith N DarakjyItalyAsiya Javayant NEW
Morrow P PaprockiFranceOnyama Limba QUALIFIED
Francesco M BologniaFranceElwin Sharvill RENEWAL
Deepesh L BologniaAustraliaBernardo Dominic UNQUALIFIED
Costa H GarufiCanadaAnna Fali PROPOSAL
Ivar B StensethUnited KingdomBernardo Dominic RENEWAL
Kadeem L GillianBrazilBernardo Dominic UNQUALIFIED
Wickens W SaylorsItalyIoni Bowcher 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>