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
Rodrigues N FerenczJapanXuxue Feng PROPOSAL
Murillo J BowleyAustraliaAmy Elsner NEGOTIATION
Sinclair Z MaletArgentinaElwin Sharvill RENEWAL
Ashley H CaldareraArgentinaAsiya Javayant RENEWAL
Adams A SlusarskiSpainIvan Magalhaes UNQUALIFIED
Aika S AmigonBrazilXuxue Feng QUALIFIED
Kaitlin I SaylorsIndiaStephen Shaw QUALIFIED
Jennifer L CampainCanadaElwin Sharvill QUALIFIED
Jones Q MorascaCanadaStephen Shaw NEW
Stacey P CampainItalyElwin Sharvill NEW
Rodrigues R AmigonArgentinaOnyama Limba QUALIFIED
Nicolas Z WieserAustraliaBernardo Dominic PROPOSAL
Alejandro U VocelkaGermanyElwin Sharvill RENEWAL
Leja X BowleyItalyXuxue Feng RENEWAL
Clifford Z SaylorsAustraliaAsiya Javayant QUALIFIED
Izzy B RutaUnited KingdomElwin Sharvill QUALIFIED
Sinclair H BriddickArgentinaAmy Elsner QUALIFIED
Francesco J PaprockiGermanyAsiya Javayant RENEWAL
Darci B CampainJapanIoni Bowcher UNQUALIFIED
Smith X InouyeBrazilOnyama Limba RENEWAL
Deepesh S StockhamGermanyAsiya Javayant RENEWAL
Ashley Y RulapaughFranceStephen Shaw PROPOSAL
Maria N MaletArgentinaStephen Shaw PROPOSAL
Ivar H OldroydIndiaOnyama Limba PROPOSAL
Aika Y VenereGermanyXuxue Feng PROPOSAL
Jones C FerenczAustraliaAsiya Javayant NEW
Mayumi P IturbideAustraliaAmy Elsner NEW
Clifford E PaprockiUnited KingdomIvan Magalhaes NEW
Misaki K PoquetteItalyOnyama Limba NEW
Murillo E PaprockiCanadaIvan Magalhaes NEGOTIATION
Cody K RutaIndiaBernardo Dominic QUALIFIED
Murillo Y MacleadJapanAnna Fali UNQUALIFIED
Aditya J BologniaAustraliaBernardo Dominic NEGOTIATION
Izzy X MaletGermanyAnna Fali RENEWAL
Murillo K IturbideAustraliaStephen Shaw RENEWAL
Darci L AlbaresArgentinaOnyama Limba PROPOSAL
Aika D BologniaGermanyAmy Elsner NEGOTIATION
Aika V SaylorsGermanyAnna Fali NEGOTIATION
Jefferson O ShinkoSpainIoni Bowcher UNQUALIFIED
Johnson X SchemmerSpainAmy Elsner NEW
Antonio D StensethAustraliaIoni Bowcher QUALIFIED
Octavia F FollerIndiaBernardo Dominic PROPOSAL
Smith S MaletRussiaXuxue Feng PROPOSAL
Jeanfrancois Y SaylorsIndiaIvan Magalhaes NEW
Maria H FerenczRussiaBernardo Dominic QUALIFIED
Leon T WieserSpainAmy Elsner NEW
Aruna Z FerenczBrazilAsiya Javayant RENEWAL
Jefferson O RimBrazilXuxue Feng PROPOSAL
Kadeem B MaletIndiaXuxue Feng RENEWAL
Murillo H FerenczBrazilElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leon R SergiArgentinaOnyama Limba NEW
Jones C FerenczAustraliaXuxue Feng PROPOSAL
Clifford H BologniaItalyBernardo Dominic RENEWAL
Cody P RulapaughRussiaStephen Shaw UNQUALIFIED
Mujtaba L CaudySpainOnyama Limba QUALIFIED
Costa U CaudySpainOnyama Limba UNQUALIFIED
Mayumi M MacleadGermanyElwin Sharvill NEW
Antonio V RutaItalyAnna Fali QUALIFIED
Ashley D StensethUnited KingdomAsiya Javayant PROPOSAL
Clifford L MaletSpainStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna O PoquetteIndia2024-06-08Buckley Miller Wright QUALIFIED92Bernardo Dominic
1001Octavia E SlusarskiBrazil2024-05-28Rousseaux, Michael Esq NEGOTIATION64Ivan Magalhaes
1002Alejandro N KolmetzIndia2024-05-29Chapman, Ross E Esq RENEWAL67Amy Elsner
1003James D CaudyIndia2024-06-17Benton, John B Jr QUALIFIED18Elwin Sharvill
1004Kadeem W GauchoRussia2024-06-14Truhlar And Truhlar Attys PROPOSAL31Onyama Limba
1005Silvio Z CaldareraSpain2024-05-27Chanay, Jeffrey A Esq NEGOTIATION81Ivan Magalhaes
1006Cody D AmigonArgentina2024-06-17Printing Dimensions NEW66Amy Elsner
1007Ivar X PaprockiRussia2024-05-29Commercial Press NEGOTIATION27Bernardo Dominic
1008Claire H PerinAustralia2024-05-27Truhlar And Truhlar Attys PROPOSAL5Ioni Bowcher
1009Kadeem J StockhamJapan2024-06-08King, Christopher A Esq UNQUALIFIED49Stephen Shaw
1010Leja A InouyeFrance2024-06-11Feltz Printing Service NEGOTIATION48Anna Fali
1011Isabel D DilliardJapan2024-06-01King, Christopher A Esq PROPOSAL54Xuxue Feng
1012Silvio S BowleyFrance2024-06-07Benton, John B Jr PROPOSAL59Elwin Sharvill
1013Rodrigues P GlickAustralia2024-06-09Feiner Bros PROPOSAL10Bernardo Dominic
1014Ivar S TollnerSpain2024-05-30Chapman, Ross E Esq PROPOSAL48Elwin Sharvill
1015Cody K KolmetzArgentina2024-06-01Morlong Associates RENEWAL76Xuxue Feng
1016Claire U GauchoRussia2024-06-09Commercial Press UNQUALIFIED59Bernardo Dominic
1017Leon Q OldroydItaly2024-06-06Printing Dimensions NEW33Ivan Magalhaes
1018Aika L KuskoItaly2024-06-04Chemel, James L Cpa PROPOSAL71Ioni Bowcher
1019Jefferson C KuskoUnited Kingdom2024-06-15Dorl, James J Esq NEW68Onyama Limba
1020Cody R GauchoSpain2024-06-15Truhlar And Truhlar Attys RENEWAL45Elwin Sharvill
1021Isabel H ShinkoJapan2024-06-15Rangoni Of Florence NEGOTIATION65Elwin Sharvill
1022Rodrigues A CaldareraJapan2024-06-01Chemel, James L Cpa PROPOSAL27Stephen Shaw
1023Ashley R DilliardItaly2024-06-01Feltz Printing Service QUALIFIED71Bernardo Dominic
1024Jeanfrancois Y SergiGermany2024-05-20King, Christopher A Esq NEW46Onyama Limba
1025Antonio K RutaIndia2024-06-02Feltz Printing Service QUALIFIED61Ivan Magalhaes
1026Misaki F CampainGermany2024-06-07Rousseaux, Michael Esq PROPOSAL12Bernardo Dominic
1027Arvin F GauchoIndia2024-06-15Buckley Miller Wright UNQUALIFIED12Ivan Magalhaes
1028Murillo X StockhamSpain2024-06-03Chapman, Ross E Esq RENEWAL1Ioni Bowcher
1029Stacey N InouyeItaly2024-06-10Chanay, Jeffrey A Esq NEW17Anna Fali
1030Misaki E CaldareraJapan2024-05-21Rousseaux, Michael Esq UNQUALIFIED3Anna Fali
1031Aditya E TollnerGermany2024-05-23Chanay, Jeffrey A Esq PROPOSAL97Xuxue Feng
1032Jefferson S VenereAustralia2024-05-23Rangoni Of Florence NEGOTIATION73Ioni Bowcher
1033Mayumi H SaylorsUnited Kingdom2024-06-16Rangoni Of Florence UNQUALIFIED46Ivan Magalhaes
1034Julie D SlusarskiCanada2024-06-04Feltz Printing Service RENEWAL75Elwin Sharvill
1035Octavia N GlickArgentina2024-06-04Truhlar And Truhlar Attys NEW96Onyama Limba
1036Rodrigues B ChuiItaly2024-06-15Chapman, Ross E Esq QUALIFIED75Ioni Bowcher
1037James X SlusarskiSpain2024-06-09Truhlar And Truhlar Attys NEGOTIATION36Onyama Limba
1038Stacey J PoquetteRussia2024-06-03Commercial Press NEW86Asiya Javayant
1039Jones L WieserBrazil2024-05-20Feiner Bros QUALIFIED64Onyama Limba
1040Rodrigues K AlbaresFrance2024-06-17Rousseaux, Michael Esq RENEWAL60Xuxue Feng
1041Mujtaba D AmigonIndia2024-05-29Chanay, Jeffrey A Esq RENEWAL73Onyama Limba
1042Nicolas K KolmetzArgentina2024-06-14Commercial Press RENEWAL9Xuxue Feng
1043Ivar Q DoeJapan2024-05-26Chanay, Jeffrey A Esq NEGOTIATION73Ivan Magalhaes
1044Antonio Y RimBrazil2024-06-18Benton, John B Jr RENEWAL66Onyama Limba
1045Salvatore B DarakjyAustralia2024-06-02King, Christopher A Esq UNQUALIFIED79Stephen Shaw
1046Deepesh U FerenczRussia2024-05-24Feiner Bros NEW41Ivan Magalhaes
1047Tony Z DilliardBrazil2024-06-08King, Christopher A Esq PROPOSAL97Onyama Limba
1048Mujtaba X FollerUnited Kingdom2024-06-16Dorl, James J Esq NEW40Asiya Javayant
1049Chavez H StensethItaly2024-05-26Feiner Bros PROPOSAL18Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Morrow R GauchoAustraliaAnna Fali RENEWAL
Rodrigues I SergiCanadaAnna Fali UNQUALIFIED
Wickens Z RulapaughGermanyBernardo Dominic QUALIFIED
David H AmigonCanadaAmy Elsner QUALIFIED
Jennifer X VenereBrazilElwin Sharvill PROPOSAL
Cody Y BologniaBrazilXuxue Feng QUALIFIED
Claire T VenereArgentinaIoni Bowcher PROPOSAL
Deepesh A FollerCanadaAsiya Javayant UNQUALIFIED
Stacey D KolmetzUnited KingdomIoni Bowcher NEGOTIATION
Emily K MacleadBrazilStephen Shaw UNQUALIFIED
David V AlbaresFranceIoni Bowcher RENEWAL
Aika L MaletCanadaElwin Sharvill RENEWAL
Emily K SaylorsAustraliaOnyama Limba RENEWAL
Maisha O StensethUnited KingdomAnna Fali PROPOSAL
Aditya N RoysterGermanyStephen Shaw NEW
Aruna O MorascaSpainIoni Bowcher UNQUALIFIED
Kaitlin J ShinkoIndiaAsiya Javayant NEGOTIATION
Claire Z InouyeIndiaAsiya Javayant NEW
Faith P FlosiArgentinaIvan Magalhaes NEGOTIATION
Emily P SaylorsJapanAsiya Javayant UNQUALIFIED
Arvin Z PerinJapanIoni Bowcher QUALIFIED
Emily W MarrierCanadaIvan Magalhaes PROPOSAL
Nicolas G PerinBrazilElwin Sharvill RENEWAL
Kadeem A OstroskyFranceOnyama Limba QUALIFIED
Mayumi U MaletAustraliaOnyama Limba RENEWAL
Leon H TollnerJapanBernardo Dominic UNQUALIFIED
Ashley K IturbideArgentinaXuxue Feng RENEWAL
Murillo V FlosiItalyElwin Sharvill RENEWAL
Aditya C PerinSpainIvan Magalhaes RENEWAL
Deepesh Y OstroskyAustraliaIoni Bowcher RENEWAL
Jones S AlbaresUnited KingdomIvan Magalhaes PROPOSAL
Maria D FigeroaAustraliaAsiya Javayant PROPOSAL
Aruna R KuskoAustraliaAmy Elsner RENEWAL
Jeanfrancois K StensethJapanIoni Bowcher QUALIFIED
Nicolas I StockhamArgentinaBernardo Dominic UNQUALIFIED
Isabel K SaylorsFranceXuxue Feng RENEWAL
Kadeem E FigeroaCanadaAnna Fali PROPOSAL
Misaki N SlusarskiFranceAnna Fali RENEWAL
Faith I FlosiItalyAmy Elsner QUALIFIED
Stacey V FollerBrazilBernardo Dominic NEW
Aditya V ChuiFranceIvan Magalhaes NEGOTIATION
Antonio W MarrierBrazilIoni Bowcher PROPOSAL
Leon P MorascaGermanyElwin Sharvill PROPOSAL
Leja O ButtJapanIoni Bowcher PROPOSAL
Arvin W TollnerIndiaAsiya Javayant UNQUALIFIED
Kaitlin K MaletGermanyIvan Magalhaes RENEWAL
Francesco A FlosiIndiaAsiya Javayant NEW
Ricardo U CaudySpainAnna Fali NEW
Francesco O DoeFranceAsiya Javayant UNQUALIFIED
Ivar A BriddickUnited KingdomIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Murillo D Foller
Jennifer V Perin
Morrow P Whobrey
Darci J Morasca
Jones Y Schemmer
Isabel O Albares
Wickens P Nestle
Maisha G Doe
Ashley F Kusko
Isabel J Darakjy
Kadeem L Campain
Sinclair R Vocelka
Mujtaba O Rim
Nicolas R Figeroa
Ivar T Iturbide
Adams E Doe
Nicolas G Rim
Salvatore V Amigon
Salvatore C Caldarera
Sinclair O Maclead
Rodrigues O Waycott
Jennifer Y Poquette
Kaitlin M Gaucho
Clifford Y Sergi
David B Glick
Francesco J Waycott
Arvin L Nicka
Aruna L Malet
Arvin Q Campain
Salvatore B Morasca
Leja O Malet
Ivar G Malet
Stacey D Marrier
Johnson C Campain
Mayumi A Slusarski
Johnson V Darakjy
Costa S Bolognia
Arvin B Vocelka
Maisha Y Flosi
Faith Z Ostrosky
Wickens N Foller
Silvio N Wieser
Jeanfrancois D Malet
Wickens C Saylors
Julie E Iturbide
Leon L Bowley
Jefferson R Rim
David V Schemmer
Ivar E Stenseth
Munro L Iturbide
IdCountryDate
1000Brazil2024-06-07
1001United Kingdom2024-06-10
1002Japan2024-06-12
1003Germany2024-05-29
1004Brazil2024-05-31
1005Brazil2024-06-09
1006Argentina2024-05-30
1007Canada2024-05-20
1008India2024-06-17
1009Italy2024-06-02
1010Germany2024-06-09
1011France2024-06-12
1012Brazil2024-06-08
1013Brazil2024-05-21
1014India2024-06-09
1015France2024-06-11
1016Argentina2024-06-11
1017Argentina2024-05-28
1018Russia2024-05-21
1019Italy2024-06-17
1020Australia2024-06-10
1021India2024-06-06
1022Russia2024-06-02
1023Argentina2024-05-27
1024Japan2024-05-27
1025Italy2024-06-03
1026Australia2024-05-23
1027Russia2024-06-11
1028Italy2024-05-20
1029France2024-05-28
1030Spain2024-06-04
1031United Kingdom2024-06-10
1032United Kingdom2024-06-16
1033Australia2024-06-05
1034Germany2024-05-23
1035Germany2024-05-23
1036Australia2024-05-30
1037Germany2024-06-05
1038India2024-06-12
1039Russia2024-06-04
1040Argentina2024-06-01
1041Argentina2024-06-15
1042Argentina2024-05-21
1043Argentina2024-06-07
1044Italy2024-06-14
1045United Kingdom2024-05-26
1046Canada2024-06-09
1047United Kingdom2024-05-28
1048Germany2024-05-26
1049Germany2024-06-16

On-Demand Data

NameIdCountryDate
Antonio G Ostrosky1000Spain2024-06-09
Ashley W Slusarski1001Germany2024-05-26
Antonio I Whobrey1002Germany2024-05-23
Stacey U Gillian1003Russia2024-06-06
Leon Z Kusko1004Italy2024-06-05
Smith E Tollner1005Russia2024-06-10
Izzy I Malet1006Japan2024-06-01
James O Sergi1007United Kingdom2024-05-21
Leon W Stenseth1008Australia2024-05-22
Silvio V Saylors1009Australia2024-05-24
Emily P Garufi1010Canada2024-05-28
Aika Q Whobrey1011Japan2024-06-03
Antonio K Foller1012India2024-06-08
Alejandro A Dilliard1013India2024-06-14
Francesco Q Saylors1014Japan2024-06-06
Chavez F Malet1015Germany2024-06-17
Munro O Glick1016Germany2024-05-30
Jeanfrancois R Doe1017France2024-06-05
Juan N Caudy1018United Kingdom2024-06-14
Sinclair J Vocelka1019Brazil2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony N GlickCanadaAsiya Javayant NEGOTIATION
Salvatore M MarrierCanadaIvan Magalhaes PROPOSAL
Francesco S MacleadRussiaAmy Elsner PROPOSAL
Darci Z RutaFranceAmy Elsner RENEWAL
Ricardo J ShinkoAustraliaIvan Magalhaes NEW
Munro Y FlosiFranceAmy Elsner RENEWAL
Ivar J CaldareraCanadaIoni Bowcher QUALIFIED
Juan R OldroydIndiaBernardo Dominic PROPOSAL
Cody S WieserFranceAmy Elsner PROPOSAL
Maisha G RulapaughIndiaIvan Magalhaes UNQUALIFIED
Kaitlin U FigeroaFranceXuxue Feng NEW
Smith Y DarakjySpainAnna Fali UNQUALIFIED
Chavez Z RoysterGermanyAnna Fali RENEWAL
Juan P FigeroaArgentinaAnna Fali NEW
Julie P SaylorsGermanyOnyama Limba UNQUALIFIED
David P FollerSpainElwin Sharvill NEGOTIATION
Silvio T KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Johnson G RimIndiaIvan Magalhaes UNQUALIFIED
Johnson Z FerenczSpainBernardo Dominic UNQUALIFIED
Jones A MaletCanadaStephen Shaw NEGOTIATION
Maria X SergiFranceBernardo Dominic PROPOSAL
Jones L OstroskyIndiaXuxue Feng NEGOTIATION
Arvin P OldroydRussiaXuxue Feng NEW
Stacey E GauchoAustraliaXuxue Feng NEGOTIATION
Mayumi A DarakjyBrazilElwin Sharvill UNQUALIFIED
Ashley S NickaAustraliaAnna Fali PROPOSAL
Tony L MarrierSpainIvan Magalhaes NEGOTIATION
Jefferson H SlusarskiRussiaOnyama Limba RENEWAL
Munro U IturbideJapanOnyama Limba UNQUALIFIED
Morrow H DarakjyBrazilStephen Shaw RENEWAL
Deepesh K DoeJapanIvan Magalhaes NEW
Kaitlin U ChuiIndiaIvan Magalhaes PROPOSAL
Leja H StockhamRussiaAmy Elsner RENEWAL
Deepesh C BriddickJapanAnna Fali NEGOTIATION
Aditya L GillianCanadaIoni Bowcher RENEWAL
Johnson G AmigonAustraliaIoni Bowcher RENEWAL
Aika S BriddickSpainElwin Sharvill NEW
Salvatore K WhobreyCanadaIoni Bowcher PROPOSAL
James A DoeItalyAmy Elsner UNQUALIFIED
Sinclair A KuskoGermanyIoni Bowcher 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>