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
Jeanfrancois G PaprockiBrazilStephen Shaw NEW
James H DoeGermanyElwin Sharvill NEW
Aditya A GillianItalyXuxue Feng NEGOTIATION
Maisha I KuskoUnited KingdomOnyama Limba NEW
Salvatore J PaprockiIndiaAmy Elsner UNQUALIFIED
Adams Y PoquetteSpainIoni Bowcher RENEWAL
Darci H AlbaresFranceIvan Magalhaes NEW
Ricardo E VocelkaCanadaIoni Bowcher NEW
Maisha X SergiFranceStephen Shaw QUALIFIED
Misaki Z NestleIndiaAmy Elsner PROPOSAL
Aika R OldroydRussiaXuxue Feng RENEWAL
Greenwood X FerenczJapanIvan Magalhaes QUALIFIED
Arvin Q WhobreyUnited KingdomAmy Elsner PROPOSAL
Deepesh K VenereGermanyAsiya Javayant NEW
Sinclair W SchemmerBrazilXuxue Feng UNQUALIFIED
Johnson Y MacleadBrazilIvan Magalhaes QUALIFIED
Misaki G KolmetzJapanAsiya Javayant RENEWAL
Chavez Y AlbaresBrazilOnyama Limba NEGOTIATION
Aditya L SchemmerIndiaIvan Magalhaes NEW
Costa O PaprockiSpainBernardo Dominic UNQUALIFIED
Kaitlin C PoquetteCanadaBernardo Dominic PROPOSAL
Isabel G MacleadBrazilAnna Fali NEW
Tony A ShinkoFranceElwin Sharvill NEW
Costa I IturbideGermanyAmy Elsner NEGOTIATION
Francesco L VocelkaIndiaBernardo Dominic PROPOSAL
Maria L SchemmerIndiaBernardo Dominic PROPOSAL
Munro W OstroskyGermanyElwin Sharvill QUALIFIED
Wickens Y MarrierItalyBernardo Dominic RENEWAL
Ivar C BowleyJapanStephen Shaw RENEWAL
Alejandro Y DarakjyFranceAsiya Javayant NEW
Juan T MorascaJapanIvan Magalhaes UNQUALIFIED
Cody X MaletFranceOnyama Limba NEGOTIATION
Costa U DarakjySpainXuxue Feng NEGOTIATION
Morrow U FerenczGermanyStephen Shaw QUALIFIED
Sinclair J FerenczRussiaElwin Sharvill NEGOTIATION
Maisha Y RulapaughAustraliaAnna Fali QUALIFIED
Salvatore V GauchoFranceStephen Shaw QUALIFIED
Aruna N PaprockiUnited KingdomOnyama Limba RENEWAL
Darci J WaycottItalyAmy Elsner RENEWAL
Greenwood G IturbideGermanyBernardo Dominic RENEWAL
Cody E RoysterItalyBernardo Dominic UNQUALIFIED
Isabel G GauchoGermanyAsiya Javayant UNQUALIFIED
Claire A TollnerFranceXuxue Feng PROPOSAL
Rodrigues K VenereJapanBernardo Dominic NEGOTIATION
Cody P AmigonArgentinaAsiya Javayant NEW
Cody A SlusarskiUnited KingdomAnna Fali PROPOSAL
Salvatore G InouyeBrazilXuxue Feng UNQUALIFIED
Izzy Z MaletBrazilAnna Fali PROPOSAL
Kaitlin B SchemmerUnited KingdomXuxue Feng QUALIFIED
Francesco Z ShinkoArgentinaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy S ButtCanadaXuxue Feng PROPOSAL
Misaki K WieserArgentinaIoni Bowcher UNQUALIFIED
Ivar U OldroydRussiaIoni Bowcher UNQUALIFIED
Silvio B PoquetteItalyAmy Elsner QUALIFIED
Maisha Y ChuiJapanOnyama Limba QUALIFIED
Adams J BriddickSpainElwin Sharvill UNQUALIFIED
Johnson X CampainCanadaIvan Magalhaes NEGOTIATION
Alejandro X WhobreySpainIvan Magalhaes NEGOTIATION
Mayumi E GarufiArgentinaIoni Bowcher QUALIFIED
Rodrigues O MaletCanadaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody G CaldareraSpain2026-08-01Dorl, James J Esq RENEWAL8Xuxue Feng
1001Clifford I BriddickCanada2026-08-05Benton, John B Jr NEW13Amy Elsner
1002Rodrigues P RutaBrazil2026-07-20Printing Dimensions NEGOTIATION12Xuxue Feng
1003Johnson T NestleFrance2026-07-26Chapman, Ross E Esq NEGOTIATION74Onyama Limba
1004Aika F CaldareraIndia2026-08-10Chanay, Jeffrey A Esq NEW38Asiya Javayant
1005Francesco Q MorascaRussia2026-08-08King, Christopher A Esq PROPOSAL26Amy Elsner
1006Johnson T GauchoBrazil2026-07-15Rangoni Of Florence UNQUALIFIED79Stephen Shaw
1007Sinclair T WaycottSpain2026-08-02Rangoni Of Florence NEGOTIATION19Onyama Limba
1008Ivar D BriddickAustralia2026-08-02Chemel, James L Cpa UNQUALIFIED14Anna Fali
1009Munro X StensethItaly2026-08-05Dorl, James J Esq UNQUALIFIED13Stephen Shaw
1010Claire H WhobreyItaly2026-08-08Rangoni Of Florence PROPOSAL11Xuxue Feng
1011Francesco O MorascaUnited Kingdom2026-08-01Rousseaux, Michael Esq NEGOTIATION20Elwin Sharvill
1012Smith F FerenczJapan2026-07-21Morlong Associates NEW65Xuxue Feng
1013James S GarufiAustralia2026-08-05Dorl, James J Esq PROPOSAL41Bernardo Dominic
1014Cody V TollnerSpain2026-07-21Printing Dimensions NEGOTIATION29Anna Fali
1015Alejandro D SlusarskiGermany2026-08-03Morlong Associates PROPOSAL64Elwin Sharvill
1016Emily O SaylorsSpain2026-08-05Morlong Associates PROPOSAL86Bernardo Dominic
1017Maria R AlbaresJapan2026-07-18Benton, John B Jr RENEWAL82Ioni Bowcher
1018Kaitlin Y ButtBrazil2026-07-14Buckley Miller Wright NEW31Amy Elsner
1019Kadeem I WhobreyGermany2026-07-27Benton, John B Jr NEGOTIATION53Xuxue Feng
1020Juan A RoysterJapan2026-08-11Chanay, Jeffrey A Esq UNQUALIFIED28Stephen Shaw
1021Kadeem F CampainAustralia2026-07-20Buckley Miller Wright NEGOTIATION77Anna Fali
1022Silvio T GillianJapan2026-07-14Chemel, James L Cpa PROPOSAL81Asiya Javayant
1023Alejandro H BriddickArgentina2026-07-26Rousseaux, Michael Esq PROPOSAL82Elwin Sharvill
1024Greenwood M AlbaresJapan2026-08-03Printing Dimensions UNQUALIFIED67Ivan Magalhaes
1025Morrow O PerinAustralia2026-08-06King, Christopher A Esq NEW93Elwin Sharvill
1026Juan X OstroskyCanada2026-07-26Chanay, Jeffrey A Esq PROPOSAL96Elwin Sharvill
1027Juan X RutaGermany2026-08-08Dorl, James J Esq QUALIFIED97Elwin Sharvill
1028Deepesh Y GillianJapan2026-08-08Chanay, Jeffrey A Esq UNQUALIFIED43Ioni Bowcher
1029Leon P KuskoUnited Kingdom2026-08-04Morlong Associates UNQUALIFIED10Asiya Javayant
1030Julie C SchemmerUnited Kingdom2026-07-19Truhlar And Truhlar Attys NEW27Asiya Javayant
1031Salvatore F BowleyIndia2026-08-12Commercial Press NEW83Ioni Bowcher
1032Darci Y MacleadJapan2026-07-15Chemel, James L Cpa UNQUALIFIED70Elwin Sharvill
1033Stacey W VocelkaCanada2026-07-15Feltz Printing Service NEGOTIATION93Stephen Shaw
1034Silvio O WieserIndia2026-08-12Buckley Miller Wright QUALIFIED43Elwin Sharvill
1035Octavia Z SchemmerAustralia2026-07-17Feiner Bros QUALIFIED86Asiya Javayant
1036Munro L MorascaBrazil2026-07-30Buckley Miller Wright NEGOTIATION31Amy Elsner
1037Silvio A BriddickRussia2026-07-25Truhlar And Truhlar Attys QUALIFIED28Onyama Limba
1038Greenwood U NestleIndia2026-08-04Truhlar And Truhlar Attys NEW66Elwin Sharvill
1039Antonio O CaldareraIndia2026-08-04Rousseaux, Michael Esq NEW1Asiya Javayant
1040Costa V MacleadJapan2026-08-07Benton, John B Jr QUALIFIED11Ivan Magalhaes
1041Johnson T RoysterSpain2026-08-09Chemel, James L Cpa UNQUALIFIED43Onyama Limba
1042Leon S ShinkoBrazil2026-07-17Morlong Associates QUALIFIED65Asiya Javayant
1043Francesco T IturbideRussia2026-07-14King, Christopher A Esq NEW0Bernardo Dominic
1044Ricardo Z RutaBrazil2026-08-05Rangoni Of Florence RENEWAL49Elwin Sharvill
1045Leon H FlosiUnited Kingdom2026-08-02Rousseaux, Michael Esq PROPOSAL21Xuxue Feng
1046Costa G GillianBrazil2026-07-27Morlong Associates UNQUALIFIED17Ivan Magalhaes
1047Cody O CampainArgentina2026-07-27Chanay, Jeffrey A Esq NEW15Xuxue Feng
1048Antonio R MaletArgentina2026-07-15Chemel, James L Cpa QUALIFIED30Anna Fali
1049James R IturbideRussia2026-07-31Commercial Press NEGOTIATION34Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Deepesh C RutaAustraliaIvan Magalhaes RENEWAL
Kadeem U BowleyIndiaStephen Shaw NEGOTIATION
Jeanfrancois A WieserFranceBernardo Dominic NEW
Sinclair C PoquetteSpainIoni Bowcher QUALIFIED
Alejandro G GauchoJapanAsiya Javayant PROPOSAL
Maria Y ChuiUnited KingdomAmy Elsner QUALIFIED
Morrow Y DoeAustraliaAmy Elsner QUALIFIED
Kadeem J MacleadArgentinaIvan Magalhaes RENEWAL
Francesco I NickaFranceAmy Elsner NEW
Aditya Z OldroydItalyXuxue Feng NEW
Silvio D ChuiFranceAmy Elsner UNQUALIFIED
Leja C DarakjyAustraliaIvan Magalhaes QUALIFIED
Johnson H StockhamUnited KingdomIoni Bowcher RENEWAL
Tony F PoquetteJapanIoni Bowcher RENEWAL
Mayumi Y ButtBrazilAsiya Javayant NEW
Johnson T SlusarskiArgentinaAmy Elsner PROPOSAL
Jeanfrancois N PoquetteItalyXuxue Feng PROPOSAL
Jennifer L DilliardIndiaStephen Shaw RENEWAL
Sinclair H WaycottBrazilBernardo Dominic RENEWAL
Maisha G FollerSpainAmy Elsner NEW
Izzy N MorascaFranceElwin Sharvill PROPOSAL
Cody K FigeroaBrazilXuxue Feng PROPOSAL
Adams P MarrierIndiaXuxue Feng RENEWAL
Claire V FigeroaArgentinaBernardo Dominic RENEWAL
Salvatore X RutaBrazilIoni Bowcher NEGOTIATION
Julie G RimUnited KingdomIoni Bowcher PROPOSAL
Izzy U VocelkaArgentinaAmy Elsner UNQUALIFIED
Munro H RutaAustraliaAmy Elsner NEGOTIATION
Ivar F FigeroaSpainAmy Elsner NEGOTIATION
Aika T PoquetteRussiaAnna Fali NEGOTIATION
David J GlickUnited KingdomBernardo Dominic QUALIFIED
Ricardo B WhobreySpainAsiya Javayant RENEWAL
Isabel G BowleyFranceAnna Fali NEGOTIATION
Darci M MarrierBrazilIoni Bowcher PROPOSAL
Costa Q OstroskyFranceAsiya Javayant NEW
Mujtaba A MacleadArgentinaElwin Sharvill QUALIFIED
Julie M FerenczItalyAsiya Javayant UNQUALIFIED
Salvatore C CaldareraSpainOnyama Limba PROPOSAL
Octavia U MaletUnited KingdomAmy Elsner RENEWAL
Leja U GillianJapanElwin Sharvill NEGOTIATION
Jefferson U KolmetzJapanXuxue Feng UNQUALIFIED
Aruna D ChuiCanadaAsiya Javayant QUALIFIED
Mayumi W SergiGermanyXuxue Feng NEGOTIATION
Francesco M KolmetzSpainIoni Bowcher UNQUALIFIED
Julie B FollerSpainAmy Elsner RENEWAL
Wickens U DoeGermanyXuxue Feng PROPOSAL
Izzy B OstroskyUnited KingdomStephen Shaw RENEWAL
Juan M DoeAustraliaAnna Fali UNQUALIFIED
Clifford L FollerRussiaXuxue Feng PROPOSAL
Ashley V RimItalyXuxue Feng NEGOTIATION
Frozen Columns
Name
Clifford B Paprocki
Ricardo O Briddick
Maisha W Butt
Ivar Y Waycott
Misaki F Doe
Nicolas H Bowley
Izzy S Ruta
Stacey X Bowley
Rodrigues D Marrier
James S Inouye
Murillo Z Slusarski
Faith D Nestle
Maria I Amigon
Aruna D Malet
Cody A Paprocki
Nicolas L Albares
Rodrigues C Schemmer
Nicolas G Chui
Murillo O Nestle
David N Vocelka
Isabel T Dilliard
Claire Z Iturbide
Kadeem L Gillian
Izzy B Saylors
Smith I Gaucho
Nicolas Y Schemmer
Sinclair X Foller
Leja W Whobrey
Juan W Stockham
Rodrigues J Schemmer
Julie G Schemmer
Costa C Darakjy
Alejandro M Glick
Costa I Chui
Mayumi N Bolognia
Jones Z Bowley
Chavez T Inouye
Wickens C Whobrey
Ivar C Morasca
Jennifer U Flosi
Leja K Whobrey
Antonio K Vocelka
Adams W Oldroyd
Claire V Kusko
Silvio T Whobrey
Maria Y Briddick
Stacey J Paprocki
David C Oldroyd
Morrow S Saylors
Octavia G Foller
IdCountryDate
1000Japan2026-08-01
1001Brazil2026-07-29
1002Spain2026-07-30
1003Canada2026-08-07
1004Germany2026-07-26
1005Japan2026-08-10
1006Russia2026-07-30
1007United Kingdom2026-08-03
1008India2026-07-21
1009India2026-07-18
1010Argentina2026-08-04
1011United Kingdom2026-08-09
1012Spain2026-07-30
1013Brazil2026-07-29
1014Russia2026-08-07
1015Japan2026-08-04
1016India2026-07-26
1017Italy2026-08-11
1018France2026-07-19
1019Russia2026-08-05
1020Brazil2026-08-06
1021Brazil2026-07-23
1022India2026-08-04
1023India2026-07-28
1024Russia2026-08-11
1025Japan2026-07-14
1026Germany2026-07-15
1027India2026-08-02
1028Australia2026-07-24
1029United Kingdom2026-08-02
1030France2026-08-10
1031Italy2026-08-09
1032Japan2026-07-18
1033Canada2026-07-28
1034Germany2026-07-22
1035Russia2026-07-24
1036Canada2026-07-18
1037Russia2026-07-16
1038Germany2026-07-24
1039France2026-07-30
1040Spain2026-07-25
1041Italy2026-07-21
1042France2026-08-03
1043Brazil2026-07-24
1044Italy2026-07-31
1045Japan2026-08-03
1046Germany2026-07-29
1047Italy2026-07-30
1048Germany2026-07-26
1049Russia2026-07-17

On-Demand Data

NameIdCountryDate
Sinclair R Darakjy1000Brazil2026-07-26
Leon C Vocelka1001Spain2026-08-09
Sinclair M Royster1002Argentina2026-07-31
Leja C Poquette1003France2026-08-03
Smith Q Waycott1004Canada2026-07-22
Aruna P Caldarera1005Brazil2026-08-01
Faith X Vocelka1006Spain2026-07-26
Chavez I Inouye1007Canada2026-08-07
Wickens R Kusko1008Japan2026-08-03
Francesco K Perin1009India2026-08-02
Maria R Gaucho1010Canada2026-07-17
Ashley J Nestle1011Italy2026-07-26
Stacey F Kusko1012India2026-08-10
Morrow Q Caldarera1013United Kingdom2026-08-07
Ivar I Schemmer1014Australia2026-08-11
Misaki V Amigon1015Japan2026-07-30
Stacey L Nicka1016United Kingdom2026-07-26
Jones Q Garufi1017Brazil2026-07-17
Ricardo F Butt1018Spain2026-08-06
Maisha S Dilliard1019Spain2026-08-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin Y PaprockiCanadaBernardo Dominic UNQUALIFIED
Costa L MaletAustraliaAnna Fali NEW
Smith V OldroydSpainAsiya Javayant QUALIFIED
Costa I MaletGermanyStephen Shaw UNQUALIFIED
Tony C WaycottRussiaAmy Elsner PROPOSAL
Jennifer B PerinRussiaOnyama Limba PROPOSAL
Aditya Z FigeroaArgentinaIoni Bowcher QUALIFIED
Costa O MacleadArgentinaAmy Elsner NEW
Murillo L ButtSpainAmy Elsner RENEWAL
Cody S FollerUnited KingdomIoni Bowcher NEW
Aika V CampainBrazilIoni Bowcher NEW
Ivar U MarrierArgentinaBernardo Dominic UNQUALIFIED
Adams M DarakjyGermanyAnna Fali NEGOTIATION
Johnson I DilliardRussiaXuxue Feng QUALIFIED
Adams D IturbideAustraliaIoni Bowcher PROPOSAL
Ricardo D FlosiItalyElwin Sharvill PROPOSAL
Aika S FlosiFranceStephen Shaw RENEWAL
Costa E ChuiJapanIoni Bowcher NEGOTIATION
Sinclair X WaycottBrazilXuxue Feng PROPOSAL
Antonio K IturbideSpainAnna Fali UNQUALIFIED
Kaitlin S AlbaresGermanyAnna Fali RENEWAL
Maria E NestleBrazilElwin Sharvill NEGOTIATION
Murillo N SaylorsSpainXuxue Feng UNQUALIFIED
Rodrigues I KolmetzCanadaIvan Magalhaes PROPOSAL
Kaitlin S ShinkoAustraliaElwin Sharvill QUALIFIED
Juan A TollnerJapanAsiya Javayant NEGOTIATION
Misaki Z PerinRussiaIoni Bowcher RENEWAL
Greenwood R BologniaArgentinaAnna Fali NEGOTIATION
Kadeem V RutaRussiaBernardo Dominic NEGOTIATION
Kadeem V BriddickGermanyXuxue Feng NEW
Morrow W DoeJapanIoni Bowcher UNQUALIFIED
Jeanfrancois Y KuskoSpainStephen Shaw QUALIFIED
Jones S SlusarskiBrazilXuxue Feng PROPOSAL
Tony P FigeroaIndiaAsiya Javayant UNQUALIFIED
Adams Y PerinIndiaAnna Fali UNQUALIFIED
Murillo F RoysterFranceBernardo Dominic RENEWAL
Kaitlin W RoysterRussiaBernardo Dominic PROPOSAL
Kadeem P BologniaGermanyAsiya Javayant UNQUALIFIED
Salvatore X DoeFranceElwin Sharvill NEGOTIATION
Leja E OldroydAustraliaElwin Sharvill 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>