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
Izzy W ShinkoIndiaElwin Sharvill RENEWAL
Nicolas E MorascaItalyStephen Shaw QUALIFIED
Maria P BriddickFranceAsiya Javayant QUALIFIED
Kaitlin O ButtCanadaAsiya Javayant QUALIFIED
Aditya D GauchoBrazilAsiya Javayant PROPOSAL
Aruna P SergiJapanIvan Magalhaes NEW
Silvio P RulapaughArgentinaIvan Magalhaes PROPOSAL
Ricardo V KolmetzArgentinaIoni Bowcher NEGOTIATION
Cody E TollnerItalyIoni Bowcher PROPOSAL
Jones A BologniaAustraliaAmy Elsner NEGOTIATION
Misaki H RutaAustraliaAnna Fali RENEWAL
Murillo I CampainBrazilStephen Shaw RENEWAL
Darci F TollnerArgentinaIvan Magalhaes UNQUALIFIED
Cody K PoquetteJapanAsiya Javayant RENEWAL
Emily D DilliardRussiaAmy Elsner PROPOSAL
Misaki I IturbideGermanyIoni Bowcher RENEWAL
Leon C BowleyUnited KingdomElwin Sharvill UNQUALIFIED
Cody Q FollerArgentinaOnyama Limba PROPOSAL
Salvatore F DilliardSpainBernardo Dominic NEW
Octavia F ShinkoCanadaElwin Sharvill NEGOTIATION
Octavia C GarufiGermanyStephen Shaw PROPOSAL
Mayumi N FollerRussiaBernardo Dominic QUALIFIED
David P GillianFranceOnyama Limba UNQUALIFIED
Smith E BriddickGermanyAnna Fali NEGOTIATION
Emily U SchemmerArgentinaIoni Bowcher UNQUALIFIED
Tony C SlusarskiJapanIvan Magalhaes QUALIFIED
Rodrigues I SlusarskiCanadaXuxue Feng RENEWAL
Darci R WieserUnited KingdomAnna Fali QUALIFIED
Salvatore I BologniaArgentinaOnyama Limba NEGOTIATION
Francesco K SaylorsAustraliaAsiya Javayant RENEWAL
Isabel C PoquetteBrazilAmy Elsner NEGOTIATION
Jennifer U GillianIndiaBernardo Dominic NEGOTIATION
Sinclair B CaudyIndiaOnyama Limba RENEWAL
Aika S ButtIndiaIoni Bowcher PROPOSAL
Ivar N AlbaresCanadaStephen Shaw QUALIFIED
Antonio A ChuiGermanyAmy Elsner NEW
Ivar U MacleadBrazilBernardo Dominic RENEWAL
Ashley V ShinkoFranceOnyama Limba RENEWAL
Isabel O DoeItalyOnyama Limba RENEWAL
Juan X FollerIndiaAmy Elsner NEW
Izzy G MaletGermanyAnna Fali NEGOTIATION
Aditya K KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Julie H RoysterRussiaAsiya Javayant UNQUALIFIED
Faith S KolmetzIndiaStephen Shaw UNQUALIFIED
Ricardo Q StensethFranceElwin Sharvill NEW
Johnson F VenereUnited KingdomAsiya Javayant QUALIFIED
Costa C GlickSpainIvan Magalhaes NEW
Costa E VenereIndiaXuxue Feng RENEWAL
David X SlusarskiItalyIoni Bowcher RENEWAL
Ivar R DoeItalyStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Tony W FollerRussiaBernardo Dominic NEW
Johnson E StensethSpainAmy Elsner PROPOSAL
Jennifer K VenereArgentinaAsiya Javayant NEGOTIATION
Isabel L CaldareraItalyXuxue Feng NEW
Ivar D FerenczUnited KingdomXuxue Feng RENEWAL
David O InouyeAustraliaElwin Sharvill PROPOSAL
Alejandro X PerinAustraliaOnyama Limba NEGOTIATION
Maria E FerenczRussiaElwin Sharvill UNQUALIFIED
Silvio U SlusarskiCanadaStephen Shaw PROPOSAL
Aruna M IturbideUnited KingdomAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar E IturbideSpain2024-06-01Chemel, James L Cpa RENEWAL33Stephen Shaw
1001Aditya K SlusarskiAustralia2024-05-07Truhlar And Truhlar Attys UNQUALIFIED65Amy Elsner
1002Jennifer U SchemmerArgentina2024-05-14King, Christopher A Esq QUALIFIED12Amy Elsner
1003Smith Y RimArgentina2024-05-25Feltz Printing Service PROPOSAL95Amy Elsner
1004Misaki X WieserSpain2024-06-04Printing Dimensions PROPOSAL3Xuxue Feng
1005Jones T RulapaughRussia2024-05-18Rousseaux, Michael Esq QUALIFIED89Bernardo Dominic
1006Jones I PoquetteFrance2024-05-28Feltz Printing Service QUALIFIED9Ivan Magalhaes
1007Ivar E TollnerUnited Kingdom2024-05-31Chanay, Jeffrey A Esq NEGOTIATION96Asiya Javayant
1008Antonio C MaletFrance2024-05-13Feltz Printing Service RENEWAL18Anna Fali
1009Salvatore I WhobreyBrazil2024-05-15Morlong Associates NEGOTIATION67Ivan Magalhaes
1010Jefferson Y BriddickCanada2024-05-14Dorl, James J Esq QUALIFIED4Anna Fali
1011Cody L FlosiArgentina2024-05-31Benton, John B Jr NEW95Xuxue Feng
1012Leon D FerenczAustralia2024-05-19Rangoni Of Florence NEW95Amy Elsner
1013Antonio X PoquetteRussia2024-05-14Chapman, Ross E Esq NEW28Ioni Bowcher
1014Greenwood P PoquetteJapan2024-06-04Rangoni Of Florence RENEWAL69Stephen Shaw
1015Deepesh K TollnerArgentina2024-05-21Printing Dimensions NEGOTIATION76Onyama Limba
1016Johnson W CampainCanada2024-05-25Commercial Press UNQUALIFIED7Bernardo Dominic
1017Faith T VocelkaArgentina2024-05-17Benton, John B Jr QUALIFIED71Xuxue Feng
1018James J ChuiUnited Kingdom2024-05-26Chemel, James L Cpa RENEWAL6Stephen Shaw
1019Mayumi E BowleyArgentina2024-05-24Benton, John B Jr QUALIFIED24Bernardo Dominic
1020Jennifer B AmigonFrance2024-06-01Benton, John B Jr UNQUALIFIED19Elwin Sharvill
1021Tony G RimUnited Kingdom2024-06-03Buckley Miller Wright QUALIFIED81Stephen Shaw
1022Ricardo U OldroydArgentina2024-05-10Chapman, Ross E Esq NEGOTIATION6Onyama Limba
1023Tony L BriddickArgentina2024-05-20Rangoni Of Florence NEW30Xuxue Feng
1024Nicolas K FerenczFrance2024-05-19Printing Dimensions QUALIFIED3Anna Fali
1025Wickens V KuskoIndia2024-05-22Feiner Bros QUALIFIED88Anna Fali
1026Murillo X NickaUnited Kingdom2024-05-12Dorl, James J Esq UNQUALIFIED3Ioni Bowcher
1027Johnson L PoquetteSpain2024-05-07Dorl, James J Esq NEGOTIATION25Onyama Limba
1028Ashley O OldroydGermany2024-05-16Printing Dimensions PROPOSAL42Ioni Bowcher
1029Darci K IturbideArgentina2024-05-12Morlong Associates PROPOSAL36Anna Fali
1030Aika F GarufiJapan2024-05-06Rangoni Of Florence RENEWAL9Ioni Bowcher
1031Maisha O MaletGermany2024-05-16Morlong Associates NEW23Asiya Javayant
1032Murillo G PaprockiCanada2024-05-06Benton, John B Jr QUALIFIED1Bernardo Dominic
1033Munro P CaldareraArgentina2024-05-24Commercial Press PROPOSAL26Amy Elsner
1034Nicolas W CaudyCanada2024-05-14Dorl, James J Esq NEGOTIATION89Amy Elsner
1035Darci S FigeroaAustralia2024-06-03Truhlar And Truhlar Attys PROPOSAL80Ivan Magalhaes
1036Jennifer S WhobreyIndia2024-05-15Morlong Associates NEGOTIATION13Amy Elsner
1037Wickens D MorascaRussia2024-05-11King, Christopher A Esq PROPOSAL51Ioni Bowcher
1038Arvin G AlbaresBrazil2024-05-15Rousseaux, Michael Esq RENEWAL5Amy Elsner
1039Jennifer B WaycottRussia2024-05-19Rangoni Of Florence PROPOSAL72Ioni Bowcher
1040Salvatore S FollerSpain2024-05-28Feltz Printing Service UNQUALIFIED84Asiya Javayant
1041Wickens Y BologniaRussia2024-05-25Benton, John B Jr PROPOSAL94Bernardo Dominic
1042Costa N StensethBrazil2024-05-17Rousseaux, Michael Esq NEGOTIATION76Stephen Shaw
1043Mujtaba J StensethAustralia2024-06-01Commercial Press NEGOTIATION84Ivan Magalhaes
1044Arvin Y VenereSpain2024-05-18Benton, John B Jr NEGOTIATION32Ivan Magalhaes
1045Costa X PaprockiRussia2024-06-03Truhlar And Truhlar Attys UNQUALIFIED23Anna Fali
1046Ivar O KuskoUnited Kingdom2024-05-18Feiner Bros QUALIFIED74Bernardo Dominic
1047Isabel S CaldareraIndia2024-05-08Chapman, Ross E Esq RENEWAL14Bernardo Dominic
1048Salvatore D MaletJapan2024-05-18Feltz Printing Service RENEWAL98Xuxue Feng
1049Izzy W OstroskyRussia2024-05-29Chemel, James L Cpa NEGOTIATION12Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Silvio J DilliardIndiaIoni Bowcher QUALIFIED
Antonio W AlbaresItalyAmy Elsner PROPOSAL
Johnson V TollnerRussiaElwin Sharvill UNQUALIFIED
Greenwood P CaldareraGermanyElwin Sharvill UNQUALIFIED
Octavia I MaletItalyAmy Elsner RENEWAL
Jennifer U AmigonAustraliaBernardo Dominic NEW
Salvatore W GauchoRussiaIvan Magalhaes QUALIFIED
Smith E MorascaJapanAmy Elsner NEGOTIATION
Mayumi M KolmetzFranceAmy Elsner PROPOSAL
Mujtaba V AlbaresArgentinaXuxue Feng NEW
Maisha G MarrierUnited KingdomStephen Shaw NEGOTIATION
Izzy W SergiBrazilAsiya Javayant NEGOTIATION
Costa Q BologniaBrazilOnyama Limba PROPOSAL
Francesco E RimArgentinaOnyama Limba NEGOTIATION
Jones G MacleadJapanIvan Magalhaes QUALIFIED
Jones G WieserCanadaIoni Bowcher NEW
Wickens P NickaRussiaElwin Sharvill NEGOTIATION
Izzy Y ButtSpainAnna Fali QUALIFIED
Salvatore Q InouyeCanadaXuxue Feng NEGOTIATION
Tony W RutaGermanyIoni Bowcher PROPOSAL
Julie Z FollerAustraliaAsiya Javayant NEW
Juan Z WhobreyArgentinaBernardo Dominic NEGOTIATION
Jones D GillianRussiaAnna Fali RENEWAL
Jones H MarrierSpainAsiya Javayant UNQUALIFIED
Alejandro A MacleadItalyAnna Fali QUALIFIED
Johnson Q FigeroaUnited KingdomBernardo Dominic QUALIFIED
Alejandro J OldroydUnited KingdomElwin Sharvill NEGOTIATION
Smith L CaudyBrazilAmy Elsner PROPOSAL
James Q InouyeAustraliaXuxue Feng NEW
Cody P CaudyCanadaElwin Sharvill UNQUALIFIED
Aruna B MarrierJapanOnyama Limba NEGOTIATION
Kadeem Y GlickIndiaElwin Sharvill QUALIFIED
James S IturbideCanadaAmy Elsner PROPOSAL
Emily L FollerJapanXuxue Feng PROPOSAL
Isabel Y AlbaresArgentinaBernardo Dominic RENEWAL
Silvio P WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
David S MaletSpainXuxue Feng NEGOTIATION
Murillo U InouyeBrazilIoni Bowcher NEGOTIATION
Emily E MaletJapanIvan Magalhaes UNQUALIFIED
Johnson Q MarrierFranceAnna Fali PROPOSAL
Jennifer M BriddickUnited KingdomXuxue Feng UNQUALIFIED
Arvin N GillianCanadaAnna Fali RENEWAL
Morrow U VocelkaJapanIoni Bowcher PROPOSAL
Munro S MaletItalyAnna Fali RENEWAL
Clifford R AmigonCanadaAmy Elsner NEGOTIATION
Clifford W GarufiArgentinaStephen Shaw PROPOSAL
Kadeem G PoquetteCanadaBernardo Dominic NEGOTIATION
Emily P DilliardRussiaAsiya Javayant UNQUALIFIED
Johnson Q SergiItalyIoni Bowcher QUALIFIED
Nicolas V PerinJapanAnna Fali NEW
Frozen Columns
Name
Cody A Perin
Deepesh I Rim
Ricardo J Saylors
Julie H Paprocki
Jennifer O Garufi
Sinclair R Marrier
Julie E Campain
Wickens P Whobrey
James R Campain
Antonio H Doe
Darci X Marrier
Smith X Doe
Aruna L Paprocki
Nicolas K Rulapaugh
Ricardo G Waycott
Jefferson J Albares
Isabel O Waycott
Stacey M Rulapaugh
Munro I Bolognia
Sinclair X Bowley
Sinclair R Figeroa
Sinclair K Ostrosky
Arvin D Wieser
Stacey H Gaucho
Izzy W Waycott
Silvio S Glick
Kadeem T Foller
Aditya K Malet
Arvin L Dilliard
Octavia G Gaucho
Smith I Garufi
Juan Y Malet
Julie H Albares
Darci Z Garufi
Silvio T Stockham
Sinclair H Malet
Claire G Perin
Cody U Kolmetz
Jefferson S Schemmer
Octavia I Oldroyd
Salvatore E Foller
Ashley C Foller
Izzy B Saylors
Ivar T Rulapaugh
Misaki V Tollner
Octavia Q Amigon
Chavez K Rim
Munro P Stenseth
Wickens T Tollner
Aruna T Ruta
IdCountryDate
1000Russia2024-05-20
1001Australia2024-05-19
1002Spain2024-05-15
1003Spain2024-05-28
1004India2024-05-28
1005Australia2024-06-02
1006Argentina2024-05-09
1007Italy2024-05-10
1008Spain2024-05-27
1009Germany2024-05-07
1010United Kingdom2024-05-16
1011Spain2024-05-07
1012Brazil2024-05-12
1013Japan2024-06-04
1014India2024-05-20
1015Australia2024-05-08
1016Canada2024-05-15
1017Japan2024-05-16
1018Brazil2024-05-17
1019Italy2024-05-15
1020Italy2024-05-13
1021Canada2024-05-20
1022Italy2024-05-25
1023Italy2024-05-09
1024Russia2024-06-04
1025Canada2024-05-25
1026Germany2024-06-01
1027Australia2024-05-27
1028Australia2024-05-28
1029Argentina2024-05-20
1030Germany2024-06-03
1031Canada2024-05-19
1032India2024-05-16
1033Japan2024-06-01
1034Australia2024-05-06
1035Brazil2024-05-23
1036Germany2024-05-12
1037Canada2024-06-01
1038Argentina2024-05-17
1039United Kingdom2024-05-24
1040Italy2024-05-09
1041Spain2024-05-30
1042United Kingdom2024-05-06
1043Russia2024-06-01
1044Italy2024-05-08
1045India2024-05-30
1046France2024-05-31
1047India2024-05-06
1048Japan2024-06-04
1049Brazil2024-05-11

On-Demand Data

NameIdCountryDate
Aditya V Caldarera1000Japan2024-05-30
Chavez H Paprocki1001Germany2024-05-27
Mujtaba X Malet1002India2024-05-13
Jones Y Stockham1003India2024-05-30
Smith O Marrier1004Australia2024-05-26
Salvatore C Garufi1005Japan2024-05-31
Aika V Dilliard1006United Kingdom2024-05-08
Julie P Stockham1007Italy2024-05-15
David O Shinko1008Spain2024-05-22
Jennifer K Amigon1009Spain2024-05-13
Francesco I Ferencz1010Brazil2024-05-14
Nicolas Y Bowley1011Argentina2024-05-22
Ricardo Y Waycott1012Spain2024-05-27
Darci X Vocelka1013India2024-05-28
Jeanfrancois X Royster1014France2024-05-09
Ivar O Ostrosky1015Italy2024-05-22
Wickens W Bolognia1016France2024-06-04
Darci G Butt1017Argentina2024-06-02
Aditya W Foller1018Brazil2024-05-16
Arvin H Perin1019France2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba X VenereRussiaAmy Elsner UNQUALIFIED
David K RimItalyElwin Sharvill RENEWAL
Salvatore I RoysterUnited KingdomIoni Bowcher NEGOTIATION
Claire G DarakjyIndiaBernardo Dominic PROPOSAL
Ricardo S OldroydGermanyIoni Bowcher QUALIFIED
Jennifer B KolmetzIndiaElwin Sharvill PROPOSAL
Murillo U StockhamIndiaXuxue Feng PROPOSAL
Jefferson F TollnerSpainAmy Elsner QUALIFIED
Claire B OstroskySpainIoni Bowcher NEW
Alejandro R MaletIndiaAnna Fali UNQUALIFIED
Silvio I MorascaRussiaAsiya Javayant QUALIFIED
Leja B TollnerGermanyAmy Elsner RENEWAL
Aika A VocelkaItalyBernardo Dominic PROPOSAL
Maria K GauchoArgentinaXuxue Feng NEW
Julie Q WaycottIndiaAnna Fali RENEWAL
Octavia B DilliardItalyAsiya Javayant QUALIFIED
Aditya C NestleGermanyIoni Bowcher UNQUALIFIED
Sinclair E DilliardBrazilElwin Sharvill RENEWAL
Wickens P MarrierJapanBernardo Dominic QUALIFIED
Sinclair N RutaBrazilElwin Sharvill RENEWAL
James H MarrierSpainBernardo Dominic PROPOSAL
James L SlusarskiJapanStephen Shaw NEW
Kadeem K VenereIndiaAnna Fali NEGOTIATION
Jones P ShinkoGermanyAsiya Javayant UNQUALIFIED
Aditya G PoquetteRussiaXuxue Feng QUALIFIED
Juan Q WhobreySpainBernardo Dominic NEGOTIATION
Mujtaba Z RutaSpainBernardo Dominic PROPOSAL
Ricardo G VenereSpainBernardo Dominic QUALIFIED
Stacey P CampainIndiaIoni Bowcher NEW
Ashley W GlickSpainIvan Magalhaes PROPOSAL
Sinclair A DoeArgentinaOnyama Limba NEGOTIATION
Morrow I StockhamSpainXuxue Feng NEGOTIATION
Jefferson K IturbideSpainAsiya Javayant NEGOTIATION
Smith N FigeroaItalyAsiya Javayant NEW
Johnson V DilliardFranceStephen Shaw NEGOTIATION
Mujtaba I PerinArgentinaIvan Magalhaes UNQUALIFIED
Greenwood K SlusarskiUnited KingdomOnyama Limba NEW
Francesco S StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Morrow H SchemmerItalyAsiya Javayant RENEWAL
Morrow C SaylorsAustraliaXuxue 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>