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
Adams R PoquetteBrazilBernardo Dominic QUALIFIED
James M CaudyFranceXuxue Feng NEGOTIATION
Kaitlin G MarrierBrazilStephen Shaw RENEWAL
Maisha F WaycottArgentinaBernardo Dominic NEGOTIATION
Murillo H KuskoAustraliaStephen Shaw UNQUALIFIED
Leon C GarufiGermanyAmy Elsner UNQUALIFIED
Misaki N FollerSpainBernardo Dominic UNQUALIFIED
Ivar T SergiJapanOnyama Limba PROPOSAL
Morrow R StockhamCanadaAsiya Javayant PROPOSAL
Rodrigues Y RimCanadaIoni Bowcher PROPOSAL
Adams M SchemmerSpainOnyama Limba NEW
Aditya B VenereSpainAnna Fali RENEWAL
Jennifer K WaycottGermanyBernardo Dominic RENEWAL
Misaki B NickaRussiaAsiya Javayant QUALIFIED
James U ButtAustraliaElwin Sharvill NEW
Aika M FerenczCanadaAsiya Javayant NEGOTIATION
Cody N CaudyRussiaAsiya Javayant NEGOTIATION
Wickens G BologniaAustraliaStephen Shaw NEGOTIATION
Kaitlin X InouyeBrazilOnyama Limba PROPOSAL
Octavia S MaletAustraliaOnyama Limba NEGOTIATION
Mayumi I ShinkoSpainIoni Bowcher PROPOSAL
Juan V MarrierRussiaElwin Sharvill UNQUALIFIED
Deepesh B FollerItalyElwin Sharvill UNQUALIFIED
Mujtaba G BriddickSpainOnyama Limba QUALIFIED
James G DilliardJapanAsiya Javayant UNQUALIFIED
Jones W CaudyUnited KingdomStephen Shaw QUALIFIED
Salvatore E CampainIndiaXuxue Feng NEW
Juan O RoysterAustraliaElwin Sharvill PROPOSAL
Juan I AmigonItalyAnna Fali NEGOTIATION
Salvatore Y WaycottJapanOnyama Limba QUALIFIED
Octavia Q PaprockiAustraliaBernardo Dominic NEGOTIATION
Maisha F NestleIndiaIoni Bowcher RENEWAL
Leon G VenereItalyAsiya Javayant PROPOSAL
Stacey W RimJapanElwin Sharvill QUALIFIED
Ivar K KolmetzCanadaAnna Fali NEGOTIATION
Alejandro O MaletJapanElwin Sharvill UNQUALIFIED
Misaki Y OstroskyFranceIvan Magalhaes UNQUALIFIED
Chavez E AlbaresBrazilAmy Elsner PROPOSAL
Murillo K MaletJapanElwin Sharvill NEW
Nicolas B PoquetteSpainStephen Shaw RENEWAL
Salvatore I CaudyItalyStephen Shaw QUALIFIED
Darci C SaylorsGermanyStephen Shaw PROPOSAL
Octavia J PoquetteGermanyAnna Fali RENEWAL
Murillo T WaycottAustraliaXuxue Feng NEGOTIATION
Juan U PaprockiArgentinaAmy Elsner UNQUALIFIED
Ricardo H GarufiIndiaAsiya Javayant RENEWAL
Mayumi E TollnerUnited KingdomIvan Magalhaes UNQUALIFIED
Emily P SchemmerItalyOnyama Limba QUALIFIED
Johnson T GauchoSpainBernardo Dominic NEGOTIATION
Costa J MaletGermanyAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro J ButtBrazilAmy Elsner UNQUALIFIED
Antonio O RulapaughIndiaElwin Sharvill RENEWAL
Maria D FerenczAustraliaBernardo Dominic RENEWAL
Morrow Z InouyeAustraliaAmy Elsner UNQUALIFIED
Ivar T RutaItalyStephen Shaw RENEWAL
Leja Y StockhamBrazilOnyama Limba RENEWAL
Murillo S KuskoRussiaAsiya Javayant QUALIFIED
Izzy M AlbaresRussiaOnyama Limba UNQUALIFIED
Munro E DilliardSpainStephen Shaw PROPOSAL
Kadeem X KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro C TollnerCanada2025-05-30Chemel, James L Cpa NEW9Xuxue Feng
1001Salvatore Z SlusarskiRussia2025-06-10Commercial Press PROPOSAL0Ioni Bowcher
1002Leja G ButtBrazil2025-05-26King, Christopher A Esq UNQUALIFIED19Anna Fali
1003Johnson D ButtBrazil2025-05-25Buckley Miller Wright PROPOSAL83Xuxue Feng
1004Jeanfrancois E SergiItaly2025-06-01Truhlar And Truhlar Attys PROPOSAL27Amy Elsner
1005Darci Y VenereJapan2025-06-13Chapman, Ross E Esq NEW84Ivan Magalhaes
1006Silvio F PaprockiBrazil2025-06-11Chanay, Jeffrey A Esq NEW42Ioni Bowcher
1007Jennifer T NestleUnited Kingdom2025-06-02Benton, John B Jr RENEWAL54Ivan Magalhaes
1008Ricardo N RoysterItaly2025-06-02Buckley Miller Wright NEGOTIATION86Amy Elsner
1009Ivar M ShinkoBrazil2025-06-01Truhlar And Truhlar Attys PROPOSAL28Anna Fali
1010Mayumi K AlbaresJapan2025-06-03Feltz Printing Service NEGOTIATION73Bernardo Dominic
1011Smith Z MaletBrazil2025-06-14Chemel, James L Cpa NEW90Asiya Javayant
1012Sinclair D AlbaresAustralia2025-05-18Feltz Printing Service QUALIFIED50Ivan Magalhaes
1013Johnson B ChuiGermany2025-05-23Commercial Press RENEWAL4Anna Fali
1014Deepesh R CaudyItaly2025-05-27Chanay, Jeffrey A Esq NEGOTIATION21Xuxue Feng
1015Darci F BowleyAustralia2025-06-11Dorl, James J Esq UNQUALIFIED6Ivan Magalhaes
1016Kadeem B MaletCanada2025-06-09Printing Dimensions NEGOTIATION71Stephen Shaw
1017Deepesh G SergiItaly2025-06-08Commercial Press NEW42Asiya Javayant
1018Maisha Y RoysterSpain2025-05-29Feiner Bros RENEWAL98Ioni Bowcher
1019Munro C BowleyGermany2025-05-27Feiner Bros NEGOTIATION50Asiya Javayant
1020Arvin G AmigonRussia2025-05-18Feltz Printing Service UNQUALIFIED20Asiya Javayant
1021Emily F RutaUnited Kingdom2025-05-20Dorl, James J Esq RENEWAL48Elwin Sharvill
1022Ricardo C BriddickAustralia2025-06-11Commercial Press NEW24Anna Fali
1023Claire X AlbaresUnited Kingdom2025-06-04Buckley Miller Wright NEGOTIATION76Anna Fali
1024Munro E RutaBrazil2025-05-17Dorl, James J Esq PROPOSAL19Anna Fali
1025Claire A BowleySpain2025-06-06Buckley Miller Wright UNQUALIFIED75Xuxue Feng
1026Johnson H MarrierFrance2025-06-14Feltz Printing Service NEW60Anna Fali
1027Mayumi N DilliardArgentina2025-05-29Chemel, James L Cpa QUALIFIED14Ioni Bowcher
1028Leon C KolmetzSpain2025-05-29King, Christopher A Esq NEW23Xuxue Feng
1029Tony B MorascaArgentina2025-06-12Printing Dimensions QUALIFIED82Amy Elsner
1030Deepesh H ChuiItaly2025-05-22Feiner Bros NEGOTIATION85Xuxue Feng
1031Jeanfrancois C WhobreyRussia2025-06-10Chapman, Ross E Esq QUALIFIED87Anna Fali
1032Antonio P KolmetzAustralia2025-06-08Rousseaux, Michael Esq UNQUALIFIED53Bernardo Dominic
1033Rodrigues V CaudyRussia2025-05-21Buckley Miller Wright QUALIFIED26Amy Elsner
1034Cody B FigeroaUnited Kingdom2025-05-18Feiner Bros NEGOTIATION34Elwin Sharvill
1035Stacey B DoeJapan2025-05-25Feltz Printing Service QUALIFIED20Ioni Bowcher
1036Cody H RutaUnited Kingdom2025-05-18Feltz Printing Service RENEWAL16Stephen Shaw
1037Aruna I KolmetzJapan2025-06-13Buckley Miller Wright RENEWAL13Asiya Javayant
1038Wickens F VocelkaAustralia2025-05-27Chemel, James L Cpa UNQUALIFIED10Ioni Bowcher
1039Isabel R GlickGermany2025-05-17Chanay, Jeffrey A Esq UNQUALIFIED49Onyama Limba
1040Wickens Q MacleadAustralia2025-05-27Chanay, Jeffrey A Esq NEW30Amy Elsner
1041Costa V IturbideBrazil2025-05-17Feiner Bros QUALIFIED47Onyama Limba
1042Jones T RoysterSpain2025-05-29Chanay, Jeffrey A Esq PROPOSAL23Asiya Javayant
1043Cody G FollerUnited Kingdom2025-05-27Chanay, Jeffrey A Esq NEGOTIATION65Anna Fali
1044Jefferson T KolmetzCanada2025-05-18Chemel, James L Cpa NEW7Elwin Sharvill
1045Ricardo S SchemmerFrance2025-05-18Dorl, James J Esq QUALIFIED3Ioni Bowcher
1046Isabel G IturbideIndia2025-05-18Chemel, James L Cpa UNQUALIFIED25Amy Elsner
1047Sinclair M InouyeAustralia2025-05-26Feltz Printing Service QUALIFIED4Ivan Magalhaes
1048Jeanfrancois P PoquetteSpain2025-05-24King, Christopher A Esq RENEWAL84Bernardo Dominic
1049Isabel H SchemmerArgentina2025-06-01Chemel, James L Cpa RENEWAL3Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jefferson C NestleBrazilBernardo Dominic RENEWAL
Misaki K CaldareraJapanAnna Fali NEGOTIATION
Cody M WieserJapanXuxue Feng RENEWAL
Smith L RimFranceStephen Shaw RENEWAL
Ashley W MacleadArgentinaElwin Sharvill RENEWAL
Aika T BriddickFranceOnyama Limba UNQUALIFIED
Julie C SaylorsUnited KingdomStephen Shaw NEW
Aika L CaldareraIndiaElwin Sharvill NEGOTIATION
Julie I GauchoIndiaIvan Magalhaes PROPOSAL
Mujtaba Q MarrierArgentinaOnyama Limba RENEWAL
Claire K CaudyJapanIvan Magalhaes QUALIFIED
Jefferson Y BologniaJapanXuxue Feng NEGOTIATION
Claire O CampainUnited KingdomElwin Sharvill NEW
James G TollnerUnited KingdomAsiya Javayant RENEWAL
Smith Q MacleadGermanyXuxue Feng NEW
Francesco O AmigonCanadaElwin Sharvill PROPOSAL
Tony C MorascaJapanAmy Elsner UNQUALIFIED
Ashley X DarakjySpainElwin Sharvill QUALIFIED
Antonio Q KolmetzArgentinaIvan Magalhaes NEGOTIATION
Leja H WaycottItalyIoni Bowcher PROPOSAL
Wickens I FollerItalyIvan Magalhaes RENEWAL
Sinclair R DilliardSpainIvan Magalhaes PROPOSAL
Sinclair X PerinArgentinaStephen Shaw QUALIFIED
Maria F BriddickCanadaXuxue Feng PROPOSAL
Munro N KuskoSpainElwin Sharvill PROPOSAL
Julie R VenereArgentinaBernardo Dominic RENEWAL
Smith O IturbideBrazilStephen Shaw NEGOTIATION
Jefferson F SlusarskiSpainAnna Fali NEGOTIATION
Stacey X ButtRussiaElwin Sharvill RENEWAL
Faith R VenereGermanyElwin Sharvill QUALIFIED
James H FlosiIndiaStephen Shaw UNQUALIFIED
Jefferson V MacleadSpainStephen Shaw QUALIFIED
Maisha B DoeArgentinaXuxue Feng NEW
Claire Y WhobreySpainIvan Magalhaes NEW
Claire Q StensethItalyAsiya Javayant PROPOSAL
Emily Z StockhamCanadaXuxue Feng RENEWAL
Julie Y RoysterJapanStephen Shaw NEW
Aruna W FigeroaAustraliaStephen Shaw QUALIFIED
Maisha E BologniaGermanyBernardo Dominic UNQUALIFIED
Arvin S SaylorsJapanAmy Elsner PROPOSAL
Maisha E FlosiUnited KingdomStephen Shaw UNQUALIFIED
Salvatore W StockhamAustraliaAmy Elsner NEGOTIATION
Munro Z MacleadGermanyBernardo Dominic NEGOTIATION
Deepesh X WaycottSpainIvan Magalhaes NEGOTIATION
Aditya I BologniaAustraliaElwin Sharvill QUALIFIED
Stacey H CampainIndiaAmy Elsner RENEWAL
Maisha S DarakjyRussiaElwin Sharvill PROPOSAL
Murillo A RutaSpainIoni Bowcher QUALIFIED
Wickens X WaycottRussiaElwin Sharvill QUALIFIED
Salvatore B FlosiArgentinaElwin Sharvill RENEWAL
Frozen Columns
Name
Izzy Y Ostrosky
Julie I Figeroa
Adams D Malet
Leon M Paprocki
Tony S Sergi
Wickens O Vocelka
Aruna S Amigon
Johnson Y Inouye
Clifford V Figeroa
Kadeem B Foller
Emily K Glick
Adams C Kolmetz
Aruna N Stenseth
Aditya P Stockham
Julie B Maclead
Ivar O Ostrosky
Jeanfrancois X Stockham
Stacey K Iturbide
David O Amigon
Claire Y Ruta
Jones Y Glick
James C Bowley
Aditya Z Iturbide
Jefferson K Albares
Aruna J Inouye
Nicolas O Stenseth
Jeanfrancois I Albares
Antonio F Glick
Izzy Y Dilliard
Jennifer P Venere
David U Caudy
Jones Z Briddick
Antonio K Inouye
Jefferson R Amigon
Rodrigues J Nicka
Costa L Poquette
Jones F Glick
Maria I Stenseth
Stacey Z Vocelka
Jennifer R Ostrosky
Munro Z Poquette
Faith R Shinko
Antonio I Flosi
Jefferson T Vocelka
Juan P Malet
Antonio Y Bowley
Jefferson U Dilliard
James T Morasca
Isabel I Saylors
Jeanfrancois I Maclead
IdCountryDate
1000Germany2025-05-31
1001Australia2025-05-21
1002India2025-06-09
1003France2025-06-13
1004Italy2025-06-02
1005Canada2025-05-20
1006France2025-06-13
1007United Kingdom2025-05-19
1008Argentina2025-05-22
1009Brazil2025-05-22
1010India2025-05-17
1011Canada2025-05-24
1012Germany2025-05-31
1013Brazil2025-06-12
1014Spain2025-05-18
1015Spain2025-06-07
1016India2025-06-08
1017Russia2025-06-15
1018Canada2025-06-10
1019France2025-06-11
1020Germany2025-05-17
1021India2025-06-10
1022India2025-05-31
1023Spain2025-05-28
1024Australia2025-06-03
1025Canada2025-05-20
1026France2025-06-14
1027Spain2025-05-27
1028Canada2025-06-12
1029France2025-06-08
1030Spain2025-06-05
1031France2025-05-19
1032Brazil2025-06-02
1033Spain2025-06-04
1034France2025-06-10
1035Spain2025-06-13
1036Canada2025-05-22
1037Brazil2025-05-29
1038Germany2025-05-26
1039Japan2025-05-29
1040France2025-06-04
1041Italy2025-06-13
1042Brazil2025-05-17
1043Brazil2025-06-08
1044France2025-06-05
1045Germany2025-06-10
1046Brazil2025-06-05
1047Canada2025-06-04
1048India2025-06-05
1049Italy2025-05-17

On-Demand Data

NameIdCountryDate
Juan X Stenseth1000Argentina2025-05-22
Faith Q Waycott1001Spain2025-06-14
Izzy Z Inouye1002France2025-06-04
Murillo L Gillian1003France2025-06-15
Stacey J Campain1004Japan2025-06-15
Ricardo M Wieser1005Japan2025-05-25
Kaitlin A Flosi1006Australia2025-06-15
Greenwood Z Whobrey1007Germany2025-05-20
Sinclair M Caudy1008Spain2025-05-28
Jefferson G Campain1009Australia2025-06-05
Nicolas G Nestle1010France2025-06-13
Clifford Y Perin1011Russia2025-06-03
Maisha U Kolmetz1012Brazil2025-05-25
Deepesh B Stockham1013Russia2025-05-27
Nicolas H Darakjy1014Canada2025-05-20
Claire Y Rim1015Argentina2025-06-06
Arvin B Ruta1016India2025-06-08
Aruna M Flosi1017Germany2025-06-07
Jennifer G Vocelka1018Argentina2025-05-24
Sinclair Y Malet1019Brazil2025-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco M MacleadCanadaXuxue Feng UNQUALIFIED
Munro K DoeRussiaIoni Bowcher NEGOTIATION
Adams T WieserAustraliaBernardo Dominic QUALIFIED
Salvatore Z DilliardIndiaElwin Sharvill NEGOTIATION
Ricardo Y ShinkoUnited KingdomXuxue Feng QUALIFIED
Aditya M FigeroaSpainElwin Sharvill PROPOSAL
Clifford P CampainAustraliaIvan Magalhaes NEGOTIATION
Jeanfrancois H MarrierArgentinaElwin Sharvill PROPOSAL
Morrow F CaldareraAustraliaAnna Fali RENEWAL
David S StockhamUnited KingdomStephen Shaw RENEWAL
Jefferson P KolmetzAustraliaAsiya Javayant PROPOSAL
Aruna N WhobreyUnited KingdomAmy Elsner RENEWAL
Juan S MorascaIndiaAsiya Javayant UNQUALIFIED
Maria H BowleyFranceStephen Shaw NEGOTIATION
Mayumi E CampainIndiaBernardo Dominic NEW
Aika I StockhamJapanAnna Fali RENEWAL
Claire N MorascaCanadaAmy Elsner UNQUALIFIED
Stacey F PoquetteUnited KingdomStephen Shaw NEW
James M SlusarskiGermanyXuxue Feng PROPOSAL
Silvio R DarakjyCanadaStephen Shaw NEW
Claire P ShinkoJapanAsiya Javayant NEW
Cody B MaletCanadaElwin Sharvill PROPOSAL
Sinclair I GlickUnited KingdomAnna Fali NEW
Smith N SergiRussiaAsiya Javayant NEW
Faith X NickaArgentinaAsiya Javayant PROPOSAL
Julie C RulapaughFranceIoni Bowcher RENEWAL
Mujtaba O SaylorsFranceXuxue Feng NEGOTIATION
Maria Q NickaFranceOnyama Limba NEW
Darci M KuskoSpainIoni Bowcher RENEWAL
Smith Q NestleSpainAmy Elsner UNQUALIFIED
Tony L RulapaughCanadaBernardo Dominic UNQUALIFIED
Clifford Y RutaArgentinaIoni Bowcher PROPOSAL
Kadeem M NickaSpainAsiya Javayant UNQUALIFIED
Isabel B GlickBrazilBernardo Dominic PROPOSAL
Antonio O DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Salvatore K RutaJapanAnna Fali UNQUALIFIED
Wickens G DilliardJapanAnna Fali UNQUALIFIED
Greenwood T TollnerCanadaAsiya Javayant NEW
Julie W StensethRussiaStephen Shaw UNQUALIFIED
Johnson S SergiSpainIvan Magalhaes NEGOTIATION

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