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
Smith Y GauchoArgentinaStephen Shaw PROPOSAL
Mayumi N AmigonJapanElwin Sharvill QUALIFIED
Nicolas I FigeroaUnited KingdomStephen Shaw QUALIFIED
Tony B CaudyAustraliaAsiya Javayant QUALIFIED
Morrow X CampainFranceXuxue Feng PROPOSAL
Julie M AmigonAustraliaStephen Shaw NEW
Faith D StensethFranceIoni Bowcher NEGOTIATION
Clifford A RimSpainElwin Sharvill QUALIFIED
Ashley D FollerCanadaElwin Sharvill NEGOTIATION
Ashley D DarakjyIndiaAnna Fali QUALIFIED
Emily I BologniaFranceBernardo Dominic NEGOTIATION
David K RoysterIndiaAmy Elsner QUALIFIED
Jennifer H FigeroaItalyElwin Sharvill NEGOTIATION
Rodrigues W GlickItalyBernardo Dominic QUALIFIED
Mujtaba L RulapaughJapanOnyama Limba RENEWAL
Salvatore G SergiGermanyStephen Shaw RENEWAL
Ivar S SchemmerArgentinaElwin Sharvill PROPOSAL
Leon E VenereArgentinaOnyama Limba UNQUALIFIED
Tony K VenereAustraliaStephen Shaw UNQUALIFIED
Jones H NickaCanadaXuxue Feng PROPOSAL
Jefferson G InouyeUnited KingdomBernardo Dominic NEGOTIATION
Claire E NestleSpainOnyama Limba UNQUALIFIED
Aika I WaycottCanadaBernardo Dominic NEW
David K RimArgentinaIvan Magalhaes RENEWAL
Leja K KuskoBrazilStephen Shaw QUALIFIED
Octavia L VenereRussiaStephen Shaw NEGOTIATION
Darci P PoquetteBrazilAsiya Javayant PROPOSAL
Izzy C GarufiCanadaOnyama Limba NEW
Silvio Y ShinkoIndiaBernardo Dominic UNQUALIFIED
Jefferson N StensethFranceAsiya Javayant NEW
Octavia Q PoquetteBrazilAsiya Javayant NEGOTIATION
Juan A MaletRussiaOnyama Limba QUALIFIED
Costa G SchemmerJapanXuxue Feng UNQUALIFIED
Ivar J MarrierAustraliaAmy Elsner NEGOTIATION
Stacey A CaudyArgentinaAsiya Javayant PROPOSAL
Nicolas Y PoquetteArgentinaElwin Sharvill NEW
Emily N WaycottFranceXuxue Feng PROPOSAL
Mujtaba M AmigonUnited KingdomIoni Bowcher UNQUALIFIED
Cody I StensethBrazilIoni Bowcher RENEWAL
Arvin U FerenczItalyAnna Fali UNQUALIFIED
Faith I InouyeGermanyStephen Shaw PROPOSAL
David V FerenczAustraliaElwin Sharvill NEGOTIATION
Isabel W StensethUnited KingdomOnyama Limba PROPOSAL
Clifford I InouyeCanadaStephen Shaw QUALIFIED
Johnson T FerenczJapanElwin Sharvill QUALIFIED
Kaitlin J GillianFranceElwin Sharvill UNQUALIFIED
Smith Y CaldareraBrazilIvan Magalhaes UNQUALIFIED
Ricardo U KolmetzJapanAsiya Javayant NEGOTIATION
Jennifer X MaletIndiaElwin Sharvill RENEWAL
Jennifer B RulapaughArgentinaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Morrow J FigeroaJapanBernardo Dominic NEW
Sinclair F WieserJapanXuxue Feng NEW
Maria L SchemmerSpainElwin Sharvill NEW
Kadeem P RimArgentinaAsiya Javayant QUALIFIED
Jeanfrancois D ShinkoGermanyAmy Elsner NEGOTIATION
Ashley Y OstroskyItalyAsiya Javayant NEW
Misaki Q NickaGermanyElwin Sharvill RENEWAL
David F WhobreyBrazilBernardo Dominic QUALIFIED
Mujtaba M SlusarskiBrazilIoni Bowcher QUALIFIED
Deepesh H DilliardIndiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo U RutaBrazil2024-06-10Commercial Press NEGOTIATION9Asiya Javayant
1001Emily F ButtUnited Kingdom2024-06-22Chapman, Ross E Esq NEW63Asiya Javayant
1002Isabel U WaycottIndia2024-05-25Chapman, Ross E Esq PROPOSAL51Onyama Limba
1003Deepesh D WieserAustralia2024-06-10Buckley Miller Wright QUALIFIED15Xuxue Feng
1004Johnson O CaudySpain2024-06-03Printing Dimensions NEGOTIATION55Xuxue Feng
1005Silvio J AmigonBrazil2024-06-10Printing Dimensions NEGOTIATION56Anna Fali
1006Jones H RulapaughIndia2024-05-31Chemel, James L Cpa QUALIFIED76Amy Elsner
1007Faith T WieserRussia2024-06-08Rangoni Of Florence NEW64Bernardo Dominic
1008Aika K FerenczIndia2024-06-11King, Christopher A Esq NEW67Elwin Sharvill
1009Misaki Y BriddickGermany2024-06-03Morlong Associates RENEWAL87Ivan Magalhaes
1010Stacey V GillianIndia2024-06-22King, Christopher A Esq UNQUALIFIED46Stephen Shaw
1011Cody D PoquetteAustralia2024-06-23Rousseaux, Michael Esq NEW47Onyama Limba
1012Kaitlin X VocelkaIndia2024-06-22Truhlar And Truhlar Attys NEGOTIATION15Xuxue Feng
1013Adams O ButtItaly2024-06-05Commercial Press PROPOSAL44Bernardo Dominic
1014Claire T FollerCanada2024-05-29Printing Dimensions RENEWAL89Asiya Javayant
1015Maisha X StockhamFrance2024-05-30Chanay, Jeffrey A Esq NEGOTIATION52Anna Fali
1016Stacey D AlbaresJapan2024-06-14King, Christopher A Esq NEGOTIATION27Xuxue Feng
1017Emily A FollerItaly2024-06-09Chanay, Jeffrey A Esq NEW20Onyama Limba
1018Ivar Q RoysterBrazil2024-06-19Buckley Miller Wright PROPOSAL97Onyama Limba
1019Alejandro S SlusarskiItaly2024-05-30Chanay, Jeffrey A Esq PROPOSAL8Amy Elsner
1020Greenwood W WieserFrance2024-06-16Benton, John B Jr QUALIFIED14Asiya Javayant
1021Faith H PoquetteAustralia2024-06-20Dorl, James J Esq NEW70Stephen Shaw
1022Chavez N MorascaSpain2024-06-17Feltz Printing Service RENEWAL21Amy Elsner
1023Faith J FigeroaJapan2024-05-26Commercial Press PROPOSAL25Stephen Shaw
1024Deepesh M RoysterArgentina2024-05-25Dorl, James J Esq UNQUALIFIED46Xuxue Feng
1025Alejandro K RulapaughJapan2024-06-04Chemel, James L Cpa RENEWAL33Amy Elsner
1026Francesco H SchemmerGermany2024-06-13Dorl, James J Esq UNQUALIFIED50Asiya Javayant
1027Chavez B WaycottGermany2024-06-22Morlong Associates QUALIFIED81Elwin Sharvill
1028Mujtaba Z CampainAustralia2024-06-05Benton, John B Jr RENEWAL78Bernardo Dominic
1029Mayumi P StensethJapan2024-06-06King, Christopher A Esq NEGOTIATION18Anna Fali
1030Misaki C ShinkoAustralia2024-06-15Feltz Printing Service UNQUALIFIED31Bernardo Dominic
1031Jones S WieserBrazil2024-06-02King, Christopher A Esq NEGOTIATION86Elwin Sharvill
1032Isabel I KuskoCanada2024-06-23Dorl, James J Esq UNQUALIFIED27Elwin Sharvill
1033Juan L GlickUnited Kingdom2024-06-23Chapman, Ross E Esq PROPOSAL96Bernardo Dominic
1034Aditya G OstroskyBrazil2024-06-12Truhlar And Truhlar Attys PROPOSAL80Ioni Bowcher
1035Salvatore X MorascaAustralia2024-05-31Feltz Printing Service QUALIFIED55Stephen Shaw
1036Mayumi Z FollerIndia2024-06-13Buckley Miller Wright RENEWAL85Ioni Bowcher
1037Aika N OldroydRussia2024-06-03Dorl, James J Esq QUALIFIED0Anna Fali
1038James Z ButtCanada2024-06-19Chemel, James L Cpa UNQUALIFIED91Onyama Limba
1039Ashley S DarakjyItaly2024-06-03Truhlar And Truhlar Attys UNQUALIFIED68Ioni Bowcher
1040Faith R OstroskySpain2024-06-10Truhlar And Truhlar Attys UNQUALIFIED56Asiya Javayant
1041Munro A NestleGermany2024-06-14Benton, John B Jr NEGOTIATION67Anna Fali
1042Ivar O MarrierJapan2024-06-05Feiner Bros UNQUALIFIED42Asiya Javayant
1043Morrow I AmigonSpain2024-06-04Chemel, James L Cpa RENEWAL41Ivan Magalhaes
1044Jeanfrancois Y MarrierRussia2024-06-12Truhlar And Truhlar Attys QUALIFIED22Anna Fali
1045Izzy F WieserGermany2024-05-29Dorl, James J Esq QUALIFIED89Onyama Limba
1046Kadeem A GauchoFrance2024-06-08Truhlar And Truhlar Attys QUALIFIED75Bernardo Dominic
1047Ashley U AmigonGermany2024-05-25Printing Dimensions NEGOTIATION82Onyama Limba
1048Salvatore T InouyeSpain2024-05-26Chemel, James L Cpa UNQUALIFIED46Amy Elsner
1049Stacey I GarufiBrazil2024-06-08Chanay, Jeffrey A Esq NEW74Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Silvio A PaprockiRussiaOnyama Limba PROPOSAL
Juan R DilliardFranceIvan Magalhaes NEGOTIATION
Chavez Y OstroskyIndiaAmy Elsner UNQUALIFIED
Greenwood F CampainItalyBernardo Dominic PROPOSAL
Ashley L AmigonAustraliaElwin Sharvill NEGOTIATION
Tony J VenereAustraliaAnna Fali NEW
Kaitlin H AmigonJapanIvan Magalhaes NEGOTIATION
Jones E BowleyIndiaElwin Sharvill UNQUALIFIED
Ricardo N SaylorsGermanyBernardo Dominic UNQUALIFIED
Alejandro L SergiUnited KingdomIoni Bowcher QUALIFIED
Stacey Z CaldareraRussiaBernardo Dominic PROPOSAL
Faith Q CaudyArgentinaElwin Sharvill RENEWAL
Kaitlin Q FerenczItalyAnna Fali RENEWAL
Ricardo G FigeroaSpainXuxue Feng UNQUALIFIED
Cody Q TollnerCanadaAsiya Javayant UNQUALIFIED
Faith C WhobreyUnited KingdomIvan Magalhaes NEW
Maisha O PaprockiBrazilAmy Elsner NEGOTIATION
James X RimArgentinaBernardo Dominic NEGOTIATION
Murillo H FollerIndiaOnyama Limba PROPOSAL
Darci I RimFranceAnna Fali RENEWAL
Ashley A PerinAustraliaElwin Sharvill NEGOTIATION
Tony S ChuiUnited KingdomStephen Shaw UNQUALIFIED
Johnson E RoysterSpainStephen Shaw UNQUALIFIED
Antonio I KuskoJapanIvan Magalhaes NEW
Faith J DoeUnited KingdomIvan Magalhaes QUALIFIED
Ricardo E GauchoArgentinaOnyama Limba NEGOTIATION
Tony D BowleyGermanyAsiya Javayant QUALIFIED
James R WhobreyUnited KingdomAnna Fali UNQUALIFIED
Rodrigues Y CampainArgentinaXuxue Feng QUALIFIED
Kaitlin Y DilliardSpainElwin Sharvill NEW
Maisha T DilliardUnited KingdomAmy Elsner NEGOTIATION
Juan R NickaRussiaIoni Bowcher PROPOSAL
Jeanfrancois P CaudyBrazilStephen Shaw PROPOSAL
Maisha V BologniaIndiaAmy Elsner NEW
Salvatore J SlusarskiItalyAmy Elsner PROPOSAL
Kaitlin O MarrierBrazilAnna Fali PROPOSAL
Munro V GarufiArgentinaOnyama Limba NEGOTIATION
Aruna T DoeCanadaAsiya Javayant QUALIFIED
Rodrigues Z IturbideJapanAsiya Javayant QUALIFIED
Arvin Q BriddickRussiaAnna Fali RENEWAL
Murillo X RulapaughAustraliaXuxue Feng RENEWAL
Johnson Z MorascaFranceBernardo Dominic QUALIFIED
Jeanfrancois A PaprockiJapanOnyama Limba QUALIFIED
Mujtaba A GillianArgentinaXuxue Feng NEW
Claire Y RoysterRussiaStephen Shaw NEGOTIATION
Ashley H AmigonJapanAnna Fali NEGOTIATION
Ashley G DilliardAustraliaXuxue Feng PROPOSAL
Julie X PaprockiAustraliaOnyama Limba NEW
Jeanfrancois O KuskoUnited KingdomIoni Bowcher NEGOTIATION
Misaki N InouyeSpainAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Octavia R Perin
Darci U Maclead
Aruna F Darakjy
Leja D Flosi
Kadeem A Royster
Arvin B Darakjy
Sinclair C Figeroa
Faith Q Sergi
Misaki O Wieser
Salvatore M Glick
Ashley S Rim
Johnson G Ferencz
Emily D Figeroa
Murillo B Kolmetz
Aruna J Briddick
Claire T Kusko
Kadeem J Shinko
David T Briddick
Emily L Doe
Faith C Chui
Clifford M Oldroyd
Misaki O Caudy
Maisha A Malet
Faith P Shinko
David B Stenseth
Rodrigues X Albares
Maria Q Maclead
Jefferson L Waycott
Ashley W Saylors
Mujtaba N Dilliard
Costa N Caldarera
Silvio R Bowley
Ricardo F Ferencz
Aruna E Ruta
Rodrigues L Figeroa
Misaki J Gaucho
Jones Q Doe
Adams T Bolognia
Costa E Briddick
Antonio X Wieser
Octavia A Slusarski
Kadeem E Chui
Kadeem U Wieser
Smith H Malet
Maria P Figeroa
Chavez U Glick
Nicolas V Bolognia
Sinclair L Ruta
Aika S Nicka
Jeanfrancois W Gaucho
IdCountryDate
1000Brazil2024-06-17
1001United Kingdom2024-06-07
1002Spain2024-06-18
1003Japan2024-06-11
1004Russia2024-06-10
1005Germany2024-06-21
1006Russia2024-06-02
1007Japan2024-05-31
1008Japan2024-06-08
1009Germany2024-06-18
1010Italy2024-06-19
1011Italy2024-06-02
1012Russia2024-05-29
1013Italy2024-06-01
1014Argentina2024-06-02
1015United Kingdom2024-06-05
1016Russia2024-06-15
1017Australia2024-06-11
1018Spain2024-06-03
1019Australia2024-05-28
1020United Kingdom2024-06-21
1021Brazil2024-06-05
1022Australia2024-06-22
1023Canada2024-05-28
1024United Kingdom2024-06-12
1025United Kingdom2024-06-21
1026Russia2024-06-19
1027France2024-06-10
1028India2024-05-28
1029Brazil2024-06-16
1030Russia2024-06-12
1031France2024-06-03
1032France2024-05-28
1033Australia2024-05-26
1034Canada2024-05-26
1035Brazil2024-06-06
1036Brazil2024-06-16
1037Spain2024-05-26
1038France2024-06-12
1039India2024-06-12
1040Japan2024-06-22
1041Canada2024-05-27
1042Russia2024-06-08
1043Canada2024-05-30
1044India2024-06-22
1045Australia2024-06-13
1046Argentina2024-06-11
1047Germany2024-06-18
1048Germany2024-06-15
1049Canada2024-05-28

On-Demand Data

NameIdCountryDate
Kadeem J Schemmer1000Russia2024-06-08
Nicolas X Doe1001Argentina2024-06-08
Leon L Perin1002Argentina2024-06-08
Costa Q Doe1003Canada2024-06-10
Juan X Bowley1004Australia2024-06-10
Stacey T Inouye1005India2024-06-22
Aika S Amigon1006Germany2024-06-13
Darci B Perin1007Germany2024-06-13
Maisha H Slusarski1008Spain2024-05-25
Costa M Campain1009Brazil2024-06-06
Chavez O Malet1010France2024-06-11
Kaitlin M Foller1011United Kingdom2024-06-12
Jones Q Morasca1012Spain2024-06-02
Morrow D Paprocki1013Italy2024-06-04
Jennifer D Ferencz1014Japan2024-06-22
Misaki A Tollner1015Germany2024-05-30
Claire C Gillian1016India2024-06-01
Maria Y Briddick1017United Kingdom2024-05-30
Jones U Butt1018France2024-05-31
James Q Rim1019France2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem V BriddickUnited KingdomIvan Magalhaes NEGOTIATION
Maria T WhobreyRussiaBernardo Dominic RENEWAL
Mujtaba G BowleyBrazilStephen Shaw NEW
Chavez N OldroydItalyXuxue Feng NEGOTIATION
Nicolas I RulapaughUnited KingdomAnna Fali NEW
Wickens K FollerFranceOnyama Limba NEW
Murillo U BologniaJapanOnyama Limba NEW
Ivar Y SlusarskiItalyAnna Fali QUALIFIED
Jeanfrancois R PoquetteBrazilIoni Bowcher UNQUALIFIED
Aditya H KuskoUnited KingdomIoni Bowcher PROPOSAL
Aditya A PerinJapanElwin Sharvill QUALIFIED
Johnson C RulapaughBrazilAnna Fali QUALIFIED
Izzy X TollnerFranceOnyama Limba RENEWAL
Kaitlin X GillianFranceXuxue Feng QUALIFIED
Deepesh N FlosiGermanyIvan Magalhaes NEGOTIATION
Julie K WieserUnited KingdomXuxue Feng NEGOTIATION
Claire N StensethSpainAsiya Javayant UNQUALIFIED
Antonio D ShinkoRussiaIoni Bowcher RENEWAL
Jones H PerinSpainOnyama Limba PROPOSAL
Smith Q ChuiSpainIvan Magalhaes RENEWAL
Jennifer Q CaudyUnited KingdomAnna Fali QUALIFIED
Cody B WaycottBrazilAmy Elsner RENEWAL
Mayumi A BologniaIndiaXuxue Feng RENEWAL
Aditya Z GlickBrazilIoni Bowcher NEW
Silvio X StockhamRussiaElwin Sharvill PROPOSAL
Murillo W OstroskyFranceOnyama Limba NEGOTIATION
James S RimArgentinaXuxue Feng NEGOTIATION
Jeanfrancois N RimAustraliaAsiya Javayant PROPOSAL
Costa O ChuiArgentinaElwin Sharvill QUALIFIED
David A AlbaresBrazilOnyama Limba NEW
Faith J BowleyGermanyAnna Fali NEGOTIATION
Arvin W FlosiCanadaIoni Bowcher UNQUALIFIED
Jones J ShinkoIndiaIoni Bowcher PROPOSAL
Clifford Y WhobreyFranceOnyama Limba NEW
Antonio N PerinArgentinaAnna Fali PROPOSAL
Jeanfrancois L OstroskySpainAmy Elsner RENEWAL
Maria H SchemmerItalyIvan Magalhaes NEW
Juan Q StensethSpainIvan Magalhaes NEW
Antonio A DilliardFranceIvan Magalhaes PROPOSAL
Nicolas D BologniaSpainIoni Bowcher UNQUALIFIED

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