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
Chavez F PaprockiSpainStephen Shaw PROPOSAL
Rodrigues G ButtCanadaBernardo Dominic PROPOSAL
Nicolas T KuskoAustraliaBernardo Dominic RENEWAL
Sinclair K WieserGermanyAsiya Javayant QUALIFIED
Emily C PerinJapanStephen Shaw UNQUALIFIED
Misaki X FlosiArgentinaElwin Sharvill NEGOTIATION
Alejandro D KolmetzJapanIvan Magalhaes RENEWAL
Claire C GauchoItalyXuxue Feng QUALIFIED
Faith B AmigonFranceBernardo Dominic UNQUALIFIED
Ashley R OldroydUnited KingdomStephen Shaw QUALIFIED
Jefferson B OstroskyRussiaOnyama Limba RENEWAL
Tony X CaudySpainAsiya Javayant UNQUALIFIED
Antonio L WieserSpainOnyama Limba RENEWAL
Kaitlin N ChuiRussiaAmy Elsner NEW
Julie N RoysterUnited KingdomElwin Sharvill RENEWAL
Jones N MorascaCanadaOnyama Limba UNQUALIFIED
Julie L WieserIndiaElwin Sharvill UNQUALIFIED
Jennifer V BowleyRussiaIoni Bowcher NEGOTIATION
Morrow R MaletRussiaStephen Shaw NEW
Jeanfrancois Y VocelkaAustraliaElwin Sharvill NEGOTIATION
Jones J SlusarskiGermanyOnyama Limba QUALIFIED
Alejandro Z KolmetzIndiaStephen Shaw NEW
Isabel P StensethCanadaStephen Shaw NEW
David V MaletGermanyStephen Shaw NEW
Kadeem I FollerJapanAsiya Javayant QUALIFIED
Smith L RimRussiaOnyama Limba UNQUALIFIED
Aruna X GlickItalyIvan Magalhaes NEGOTIATION
Ivar A FlosiBrazilXuxue Feng NEW
Mayumi T InouyeSpainAmy Elsner RENEWAL
Alejandro X DarakjyGermanyOnyama Limba RENEWAL
Deepesh N DarakjyJapanIoni Bowcher RENEWAL
Rodrigues Z DilliardArgentinaElwin Sharvill RENEWAL
Salvatore Z PaprockiIndiaElwin Sharvill RENEWAL
Jefferson H PaprockiBrazilStephen Shaw NEGOTIATION
David Q SlusarskiArgentinaAmy Elsner UNQUALIFIED
Clifford O CaudyBrazilStephen Shaw NEW
Silvio V MacleadItalyXuxue Feng NEW
Deepesh N IturbideGermanyElwin Sharvill QUALIFIED
Isabel Z KolmetzArgentinaIoni Bowcher NEGOTIATION
Chavez V GauchoCanadaElwin Sharvill NEGOTIATION
Juan L AlbaresItalyBernardo Dominic UNQUALIFIED
Julie B GlickCanadaXuxue Feng NEGOTIATION
Silvio N DoeRussiaXuxue Feng NEGOTIATION
Antonio R DoeJapanStephen Shaw QUALIFIED
Alejandro X OldroydBrazilStephen Shaw PROPOSAL
Julie A MorascaSpainStephen Shaw RENEWAL
Chavez R ShinkoGermanyIvan Magalhaes RENEWAL
Deepesh R FlosiSpainAnna Fali UNQUALIFIED
Kadeem B WaycottArgentinaAmy Elsner NEW
Isabel O AmigonItalyIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson Q CampainItalyElwin Sharvill QUALIFIED
Chavez Z SlusarskiIndiaBernardo Dominic QUALIFIED
Adams S MaletAustraliaAsiya Javayant RENEWAL
Greenwood P CaldareraJapanIvan Magalhaes NEGOTIATION
Johnson T NickaFranceAsiya Javayant NEW
Aika C MaletUnited KingdomOnyama Limba PROPOSAL
Kadeem V OldroydFranceOnyama Limba NEW
Darci K AmigonSpainAmy Elsner NEW
Claire C BowleyItalyElwin Sharvill NEGOTIATION
Izzy Q MacleadGermanyAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba T NickaRussia2024-06-01Feiner Bros UNQUALIFIED66Anna Fali
1001Greenwood E WaycottRussia2024-06-13Feiner Bros QUALIFIED61Xuxue Feng
1002Claire I GarufiArgentina2024-06-22Feiner Bros NEGOTIATION49Anna Fali
1003Alejandro S StockhamCanada2024-06-19Buckley Miller Wright NEW68Elwin Sharvill
1004Leon W DoeArgentina2024-06-11Benton, John B Jr RENEWAL35Bernardo Dominic
1005David Z GarufiBrazil2024-06-20Chemel, James L Cpa QUALIFIED53Anna Fali
1006David W VenereGermany2024-05-27Morlong Associates RENEWAL40Ivan Magalhaes
1007Antonio F BowleyItaly2024-05-31Buckley Miller Wright NEGOTIATION75Ivan Magalhaes
1008Murillo Y WaycottRussia2024-06-01Chemel, James L Cpa QUALIFIED83Amy Elsner
1009Rodrigues U GillianAustralia2024-06-10Morlong Associates NEGOTIATION10Xuxue Feng
1010Mujtaba W AlbaresGermany2024-06-09Chemel, James L Cpa QUALIFIED90Ivan Magalhaes
1011Costa Z KuskoFrance2024-05-31Benton, John B Jr NEW36Bernardo Dominic
1012Izzy B VenereUnited Kingdom2024-05-31Benton, John B Jr RENEWAL6Ioni Bowcher
1013Costa T PerinItaly2024-06-02Chemel, James L Cpa UNQUALIFIED62Ioni Bowcher
1014Darci G OstroskyBrazil2024-06-10Rousseaux, Michael Esq QUALIFIED97Anna Fali
1015Ivar O WhobreyAustralia2024-06-04Rangoni Of Florence UNQUALIFIED55Onyama Limba
1016Deepesh X SlusarskiSpain2024-05-28Printing Dimensions NEW53Anna Fali
1017Smith Z SlusarskiUnited Kingdom2024-06-02Dorl, James J Esq PROPOSAL34Xuxue Feng
1018Ashley V AmigonUnited Kingdom2024-06-02Rangoni Of Florence UNQUALIFIED23Stephen Shaw
1019Wickens G WaycottJapan2024-06-03Chanay, Jeffrey A Esq NEW17Stephen Shaw
1020Mayumi X MarrierBrazil2024-06-18Truhlar And Truhlar Attys RENEWAL18Xuxue Feng
1021Octavia C FollerItaly2024-06-18Morlong Associates UNQUALIFIED85Stephen Shaw
1022Francesco C StensethRussia2024-05-27King, Christopher A Esq UNQUALIFIED66Onyama Limba
1023Nicolas M FlosiUnited Kingdom2024-06-13Buckley Miller Wright NEW97Onyama Limba
1024Jones B StensethAustralia2024-05-25Chapman, Ross E Esq NEGOTIATION82Bernardo Dominic
1025Chavez P MaletFrance2024-06-08Feltz Printing Service RENEWAL32Amy Elsner
1026Juan M ShinkoFrance2024-06-10Rangoni Of Florence NEW9Xuxue Feng
1027Aruna X VenereUnited Kingdom2024-05-31Feltz Printing Service PROPOSAL8Bernardo Dominic
1028Antonio U WhobreySpain2024-05-29Chapman, Ross E Esq UNQUALIFIED28Ioni Bowcher
1029David D PaprockiAustralia2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED82Ioni Bowcher
1030Misaki G VocelkaRussia2024-06-04Feltz Printing Service UNQUALIFIED16Ioni Bowcher
1031Jefferson Y PaprockiAustralia2024-06-11Commercial Press QUALIFIED43Ioni Bowcher
1032Jennifer M BologniaFrance2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED51Asiya Javayant
1033Arvin Q AlbaresCanada2024-06-05Morlong Associates PROPOSAL68Xuxue Feng
1034Jeanfrancois I AlbaresIndia2024-05-30Rousseaux, Michael Esq PROPOSAL65Anna Fali
1035Izzy L RulapaughCanada2024-06-10Dorl, James J Esq NEW11Xuxue Feng
1036Sinclair D FlosiAustralia2024-06-09Rousseaux, Michael Esq RENEWAL15Ioni Bowcher
1037Alejandro F AmigonGermany2024-06-15Morlong Associates PROPOSAL77Amy Elsner
1038Mayumi S FlosiRussia2024-06-17Benton, John B Jr NEGOTIATION44Onyama Limba
1039Misaki O AlbaresFrance2024-06-22Benton, John B Jr QUALIFIED86Ivan Magalhaes
1040Leja A CampainAustralia2024-05-25King, Christopher A Esq UNQUALIFIED83Xuxue Feng
1041Aruna E VenereUnited Kingdom2024-06-11Feltz Printing Service RENEWAL99Amy Elsner
1042Munro W FollerIndia2024-06-05Benton, John B Jr UNQUALIFIED32Bernardo Dominic
1043Mujtaba S FerenczFrance2024-06-15Feltz Printing Service QUALIFIED37Anna Fali
1044Rodrigues S StockhamFrance2024-06-18Truhlar And Truhlar Attys UNQUALIFIED14Xuxue Feng
1045David H StensethRussia2024-06-14Morlong Associates UNQUALIFIED48Elwin Sharvill
1046Maria A SlusarskiGermany2024-05-26Feltz Printing Service UNQUALIFIED51Ioni Bowcher
1047Ricardo Y KuskoUnited Kingdom2024-05-29Chemel, James L Cpa PROPOSAL3Anna Fali
1048Emily U GarufiAustralia2024-06-08Feiner Bros RENEWAL46Bernardo Dominic
1049Mujtaba Z FigeroaAustralia2024-05-27Chanay, Jeffrey A Esq QUALIFIED8Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ashley S CampainFranceIoni Bowcher UNQUALIFIED
Munro E KuskoArgentinaXuxue Feng NEGOTIATION
Jeanfrancois V DarakjyRussiaIvan Magalhaes RENEWAL
Maria N VocelkaGermanyXuxue Feng NEGOTIATION
Claire M AmigonSpainElwin Sharvill QUALIFIED
Izzy Q CaldareraUnited KingdomOnyama Limba NEW
Clifford P PerinRussiaAsiya Javayant PROPOSAL
Aruna J NestleRussiaElwin Sharvill NEGOTIATION
Darci J StockhamBrazilAnna Fali PROPOSAL
Julie I GlickRussiaAsiya Javayant PROPOSAL
Maria P WhobreyItalyAmy Elsner QUALIFIED
Darci D GlickArgentinaOnyama Limba RENEWAL
Juan T GlickUnited KingdomIvan Magalhaes NEGOTIATION
Julie G StockhamJapanAsiya Javayant RENEWAL
Arvin K OstroskyArgentinaAnna Fali NEW
Costa P RutaGermanyIvan Magalhaes QUALIFIED
Deepesh V BowleySpainIvan Magalhaes QUALIFIED
Cody X FerenczSpainOnyama Limba NEGOTIATION
Sinclair W WhobreyItalyStephen Shaw NEGOTIATION
Francesco E SergiCanadaAmy Elsner RENEWAL
Ivar Q FigeroaBrazilElwin Sharvill UNQUALIFIED
Misaki Y PerinJapanAsiya Javayant NEGOTIATION
Claire U DilliardArgentinaStephen Shaw NEW
Julie M KuskoFranceBernardo Dominic NEW
Rodrigues K BologniaAustraliaAsiya Javayant NEW
Arvin K NestleIndiaAnna Fali PROPOSAL
Aruna G IturbideIndiaOnyama Limba NEW
Chavez K PaprockiSpainAnna Fali NEGOTIATION
Maria E MaletUnited KingdomBernardo Dominic NEW
Rodrigues U WieserGermanyAnna Fali PROPOSAL
Aruna L CampainCanadaOnyama Limba NEW
Salvatore B SlusarskiAustraliaIvan Magalhaes PROPOSAL
Leon K BologniaCanadaAsiya Javayant RENEWAL
Tony W DilliardIndiaIoni Bowcher UNQUALIFIED
Julie C FerenczIndiaIvan Magalhaes QUALIFIED
Jennifer F StockhamRussiaIoni Bowcher NEGOTIATION
Jefferson K WaycottSpainBernardo Dominic PROPOSAL
Johnson R CampainRussiaBernardo Dominic UNQUALIFIED
Salvatore A RulapaughItalyAnna Fali UNQUALIFIED
Francesco N FollerAustraliaIoni Bowcher NEW
Jennifer O IturbideArgentinaBernardo Dominic NEGOTIATION
David Z MaletJapanIoni Bowcher NEW
Rodrigues G BriddickBrazilIoni Bowcher RENEWAL
Deepesh U AmigonArgentinaIoni Bowcher UNQUALIFIED
Isabel T GillianArgentinaElwin Sharvill NEGOTIATION
Kaitlin K GillianArgentinaAsiya Javayant PROPOSAL
Ricardo X OstroskyArgentinaOnyama Limba NEGOTIATION
Kaitlin C StockhamFranceBernardo Dominic PROPOSAL
Maria K StockhamCanadaXuxue Feng UNQUALIFIED
Isabel R DilliardBrazilElwin Sharvill PROPOSAL
Frozen Columns
Name
Jefferson C Malet
Aditya Z Nicka
Darci R Oldroyd
Deepesh C Ostrosky
Jeanfrancois A Foller
Ivar R Stockham
Salvatore S Ferencz
Jennifer V Perin
Misaki J Darakjy
Salvatore A Caudy
Salvatore Y Royster
Salvatore C Venere
Claire D Iturbide
Ricardo G Bowley
Costa V Rim
Nicolas B Slusarski
Mayumi C Waycott
Octavia D Doe
Ivar J Wieser
Misaki F Schemmer
Kadeem U Schemmer
Misaki B Bolognia
Ivar I Kolmetz
Alejandro U Kolmetz
David W Stenseth
Johnson U Shinko
Juan Q Iturbide
Maisha R Nicka
Munro E Stenseth
Aditya Z Rulapaugh
Juan D Wieser
Jeanfrancois M Perin
Ivar V Nicka
Nicolas J Darakjy
Ivar E Perin
Jeanfrancois U Doe
Darci H Darakjy
Leon Y Poquette
Smith K Ferencz
Maria U Wieser
Silvio H Poquette
Emily H Butt
Deepesh X Nicka
Julie M Shinko
Morrow H Malet
Tony X Saylors
Juan Q Glick
Greenwood I Morasca
Kadeem D Caudy
Munro W Vocelka
IdCountryDate
1000Russia2024-05-25
1001Spain2024-06-22
1002Japan2024-05-30
1003Australia2024-06-23
1004France2024-06-07
1005Japan2024-06-16
1006United Kingdom2024-06-23
1007Japan2024-06-03
1008Germany2024-06-22
1009Australia2024-06-19
1010United Kingdom2024-06-17
1011Argentina2024-06-23
1012Germany2024-05-28
1013Spain2024-05-31
1014Canada2024-05-28
1015Australia2024-06-06
1016United Kingdom2024-06-15
1017Argentina2024-06-02
1018United Kingdom2024-06-11
1019France2024-06-23
1020Russia2024-06-21
1021Canada2024-06-11
1022Spain2024-06-04
1023Australia2024-06-02
1024Australia2024-06-07
1025Brazil2024-06-05
1026India2024-06-07
1027Germany2024-06-15
1028Canada2024-06-11
1029India2024-06-05
1030France2024-05-26
1031Russia2024-06-09
1032Argentina2024-05-31
1033Japan2024-05-25
1034Germany2024-06-14
1035Brazil2024-06-10
1036Spain2024-06-06
1037India2024-06-22
1038Japan2024-05-25
1039Spain2024-06-10
1040France2024-05-28
1041Argentina2024-06-17
1042Spain2024-05-30
1043Japan2024-05-27
1044Russia2024-06-16
1045Italy2024-06-23
1046France2024-05-31
1047Canada2024-06-09
1048Japan2024-06-02
1049Canada2024-05-31

On-Demand Data

NameIdCountryDate
Nicolas R Ostrosky1000Germany2024-05-31
Darci V Bolognia1001Germany2024-06-02
Claire V Albares1002United Kingdom2024-06-16
Emily A Albares1003Japan2024-06-22
Adams F Darakjy1004Argentina2024-05-29
Chavez E Waycott1005Russia2024-06-14
Jeanfrancois K Vocelka1006Germany2024-06-20
Johnson H Kolmetz1007Spain2024-05-28
Deepesh T Venere1008France2024-06-20
Octavia V Chui1009India2024-05-27
Mayumi X Darakjy1010Brazil2024-06-21
Tony A Ostrosky1011Spain2024-06-11
Cody C Poquette1012Italy2024-06-13
Smith K Chui1013United Kingdom2024-06-11
Arvin D Gillian1014Brazil2024-06-16
Leja V Malet1015France2024-06-03
Jones M Ostrosky1016Spain2024-05-25
Johnson I Shinko1017Japan2024-05-27
Isabel N Stockham1018Italy2024-06-22
Deepesh S Saylors1019Canada2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio H KolmetzUnited KingdomStephen Shaw PROPOSAL
Tony U AmigonItalyOnyama Limba RENEWAL
Clifford R MacleadBrazilAmy Elsner PROPOSAL
Emily Y NickaGermanyAnna Fali UNQUALIFIED
Isabel G FigeroaCanadaXuxue Feng QUALIFIED
Juan B SlusarskiIndiaAsiya Javayant QUALIFIED
Johnson G GarufiUnited KingdomAsiya Javayant NEW
Greenwood U DarakjyIndiaAnna Fali QUALIFIED
Murillo F WhobreyAustraliaAmy Elsner QUALIFIED
Stacey N WaycottAustraliaElwin Sharvill UNQUALIFIED
Wickens R WaycottCanadaBernardo Dominic RENEWAL
Claire Y WhobreyFranceAnna Fali NEW
Aika A KolmetzFranceXuxue Feng PROPOSAL
Salvatore P GlickItalyAsiya Javayant QUALIFIED
Smith K MaletGermanyElwin Sharvill RENEWAL
James F MorascaBrazilAmy Elsner NEGOTIATION
Stacey K BologniaUnited KingdomStephen Shaw NEW
Arvin J GillianBrazilAnna Fali PROPOSAL
Alejandro K FigeroaBrazilXuxue Feng PROPOSAL
Darci S DarakjyAustraliaIoni Bowcher RENEWAL
Clifford F KolmetzArgentinaIvan Magalhaes RENEWAL
Faith A PoquetteAustraliaBernardo Dominic NEW
Murillo V DarakjyBrazilAnna Fali RENEWAL
Adams D PerinCanadaAsiya Javayant RENEWAL
Nicolas L MorascaJapanBernardo Dominic NEW
Ashley V BologniaJapanStephen Shaw PROPOSAL
Greenwood B CaldareraAustraliaOnyama Limba PROPOSAL
Deepesh P MaletBrazilAnna Fali NEGOTIATION
Maisha Y WaycottRussiaStephen Shaw UNQUALIFIED
Mayumi P AmigonArgentinaAmy Elsner NEW
Wickens M ButtSpainAmy Elsner QUALIFIED
Stacey C ChuiArgentinaStephen Shaw NEGOTIATION
Leja K VocelkaJapanIvan Magalhaes NEGOTIATION
Octavia N WieserJapanBernardo Dominic PROPOSAL
Adams Q BriddickItalyStephen Shaw NEGOTIATION
Ashley D CaldareraSpainAnna Fali NEGOTIATION
Izzy X PoquetteIndiaAsiya Javayant QUALIFIED
Aruna W OstroskyCanadaAmy Elsner NEW
Izzy T FerenczUnited KingdomAnna Fali UNQUALIFIED
Isabel Z CaldareraRussiaBernardo Dominic 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>