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
Stacey W DarakjyRussiaOnyama Limba NEGOTIATION
Mayumi O PaprockiSpainOnyama Limba NEW
Mayumi S DoeArgentinaAmy Elsner RENEWAL
Kaitlin X OstroskyIndiaXuxue Feng RENEWAL
Kaitlin R WieserAustraliaIvan Magalhaes QUALIFIED
Rodrigues G SergiBrazilIvan Magalhaes RENEWAL
Johnson A FollerUnited KingdomXuxue Feng NEW
Ashley J FlosiItalyAmy Elsner UNQUALIFIED
Jones D DilliardArgentinaStephen Shaw PROPOSAL
Misaki V DoeBrazilXuxue Feng QUALIFIED
Kaitlin U MorascaIndiaElwin Sharvill RENEWAL
Mayumi A AlbaresGermanyIvan Magalhaes RENEWAL
Morrow A SergiCanadaIvan Magalhaes NEGOTIATION
Octavia X KuskoArgentinaAnna Fali NEW
Leon J GlickCanadaAmy Elsner QUALIFIED
Clifford T AmigonItalyBernardo Dominic PROPOSAL
Ashley C NickaCanadaBernardo Dominic PROPOSAL
Jefferson B PerinJapanElwin Sharvill UNQUALIFIED
Maisha F RoysterAustraliaAsiya Javayant NEW
Kaitlin F MacleadRussiaXuxue Feng PROPOSAL
Misaki R ButtCanadaIvan Magalhaes UNQUALIFIED
Antonio K DarakjyAustraliaAsiya Javayant QUALIFIED
Izzy C StockhamItalyIvan Magalhaes NEGOTIATION
Mayumi C OstroskyArgentinaXuxue Feng PROPOSAL
Nicolas C CampainAustraliaXuxue Feng NEW
Darci K RutaBrazilStephen Shaw RENEWAL
Isabel S AlbaresItalyOnyama Limba NEW
Leja L MaletArgentinaBernardo Dominic QUALIFIED
David X WieserCanadaAmy Elsner RENEWAL
Deepesh M RutaItalyStephen Shaw RENEWAL
Arvin R WieserSpainAsiya Javayant NEGOTIATION
Clifford Z VocelkaSpainXuxue Feng NEW
Kaitlin I IturbideBrazilOnyama Limba QUALIFIED
James T InouyeAustraliaAmy Elsner NEGOTIATION
Chavez P SchemmerRussiaIoni Bowcher NEW
Faith T RulapaughAustraliaStephen Shaw PROPOSAL
Misaki S WhobreyAustraliaStephen Shaw RENEWAL
Aditya F MaletItalyAsiya Javayant NEW
Mujtaba F BologniaRussiaAmy Elsner PROPOSAL
Salvatore U IturbideItalyBernardo Dominic RENEWAL
Misaki B VenereArgentinaAsiya Javayant NEW
Leja T MarrierCanadaXuxue Feng PROPOSAL
Juan D RulapaughIndiaOnyama Limba NEGOTIATION
Rodrigues P RulapaughCanadaElwin Sharvill NEW
Costa R RimRussiaAsiya Javayant NEW
David B CaudySpainXuxue Feng UNQUALIFIED
Ashley C SchemmerSpainAmy Elsner PROPOSAL
Juan A IturbideUnited KingdomXuxue Feng UNQUALIFIED
Antonio X RoysterArgentinaAsiya Javayant PROPOSAL
Aditya D WaycottBrazilBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
David N RulapaughArgentinaElwin Sharvill UNQUALIFIED
Aruna Y GarufiIndiaStephen Shaw UNQUALIFIED
Sinclair S CampainAustraliaIvan Magalhaes QUALIFIED
Maria I FollerCanadaIoni Bowcher UNQUALIFIED
Aditya O ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Nicolas K ShinkoJapanIoni Bowcher NEGOTIATION
Murillo W ButtUnited KingdomAsiya Javayant NEW
Octavia B KolmetzGermanyAnna Fali NEW
Claire Z DoeFranceXuxue Feng UNQUALIFIED
Murillo L OldroydAustraliaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith M SlusarskiCanada2025-04-01Printing Dimensions PROPOSAL40Elwin Sharvill
1001Smith A BriddickCanada2025-04-12Feltz Printing Service NEGOTIATION83Asiya Javayant
1002Alejandro H WaycottCanada2025-04-14Rangoni Of Florence UNQUALIFIED86Bernardo Dominic
1003Kaitlin L PaprockiCanada2025-04-23Truhlar And Truhlar Attys PROPOSAL76Bernardo Dominic
1004Izzy R OstroskyItaly2025-04-02Chemel, James L Cpa QUALIFIED5Stephen Shaw
1005Alejandro X FerenczItaly2025-04-01Commercial Press NEW9Onyama Limba
1006Aruna E DilliardJapan2025-04-09Feiner Bros NEGOTIATION84Amy Elsner
1007Stacey K CaudyUnited Kingdom2025-04-17Rangoni Of Florence UNQUALIFIED41Ioni Bowcher
1008Emily E MaletUnited Kingdom2025-04-05Rangoni Of Florence NEGOTIATION3Elwin Sharvill
1009Misaki R DarakjyBrazil2025-04-10Chanay, Jeffrey A Esq NEGOTIATION80Elwin Sharvill
1010Costa M FlosiJapan2025-04-25Feltz Printing Service PROPOSAL36Asiya Javayant
1011Leon O ShinkoSpain2025-04-25Commercial Press QUALIFIED96Elwin Sharvill
1012Chavez J BologniaCanada2025-04-21Feltz Printing Service PROPOSAL83Amy Elsner
1013Wickens K KolmetzJapan2025-04-08Truhlar And Truhlar Attys NEW83Xuxue Feng
1014James G StockhamUnited Kingdom2025-04-02Chanay, Jeffrey A Esq UNQUALIFIED84Asiya Javayant
1015Adams D WaycottRussia2025-04-07Benton, John B Jr NEGOTIATION68Anna Fali
1016Jeanfrancois B RutaGermany2025-04-06Truhlar And Truhlar Attys RENEWAL31Elwin Sharvill
1017Costa T RutaFrance2025-04-08Chapman, Ross E Esq UNQUALIFIED59Asiya Javayant
1018Ivar X ChuiIndia2025-04-08Chanay, Jeffrey A Esq NEGOTIATION22Ivan Magalhaes
1019Greenwood Z MacleadUnited Kingdom2025-04-07Benton, John B Jr NEGOTIATION8Xuxue Feng
1020Kaitlin V ChuiGermany2025-04-09Buckley Miller Wright NEW66Stephen Shaw
1021Emily C BologniaFrance2025-04-03Truhlar And Truhlar Attys UNQUALIFIED20Xuxue Feng
1022Arvin T SaylorsBrazil2025-04-01Rousseaux, Michael Esq UNQUALIFIED10Bernardo Dominic
1023Nicolas B FigeroaJapan2025-04-21Chemel, James L Cpa NEW76Amy Elsner
1024Isabel K BologniaSpain2025-04-21Buckley Miller Wright RENEWAL68Amy Elsner
1025Chavez C MorascaCanada2025-04-11Feiner Bros NEGOTIATION59Xuxue Feng
1026Smith J SaylorsBrazil2025-04-23Truhlar And Truhlar Attys RENEWAL67Xuxue Feng
1027Emily A IturbideUnited Kingdom2025-04-18Dorl, James J Esq QUALIFIED21Anna Fali
1028Juan C PoquetteSpain2025-04-18Commercial Press NEGOTIATION22Ioni Bowcher
1029Emily D SchemmerItaly2025-04-30Chapman, Ross E Esq QUALIFIED8Stephen Shaw
1030Kaitlin Q MorascaCanada2025-04-29Benton, John B Jr NEW94Onyama Limba
1031Darci O InouyeArgentina2025-04-07Benton, John B Jr QUALIFIED71Bernardo Dominic
1032Jones X SaylorsRussia2025-04-11Truhlar And Truhlar Attys PROPOSAL59Amy Elsner
1033Munro A SergiRussia2025-04-13Printing Dimensions NEGOTIATION68Bernardo Dominic
1034Munro C StensethItaly2025-04-16Buckley Miller Wright PROPOSAL31Stephen Shaw
1035Chavez B OldroydIndia2025-04-26Feiner Bros PROPOSAL99Bernardo Dominic
1036Salvatore A KolmetzBrazil2025-04-25Rousseaux, Michael Esq NEW45Ivan Magalhaes
1037Nicolas I PoquetteCanada2025-04-17Commercial Press NEGOTIATION43Asiya Javayant
1038Jefferson R MaletItaly2025-04-23Chapman, Ross E Esq NEW67Onyama Limba
1039Antonio J DoeGermany2025-04-23Chanay, Jeffrey A Esq NEGOTIATION61Ioni Bowcher
1040David D DilliardRussia2025-04-12Buckley Miller Wright QUALIFIED42Bernardo Dominic
1041Emily L OldroydJapan2025-04-12Buckley Miller Wright PROPOSAL35Asiya Javayant
1042Munro F GauchoIndia2025-04-21Chanay, Jeffrey A Esq NEGOTIATION98Bernardo Dominic
1043Aruna Z StockhamUnited Kingdom2025-04-13Dorl, James J Esq RENEWAL14Stephen Shaw
1044Mayumi V DoeCanada2025-04-28Rangoni Of Florence QUALIFIED28Stephen Shaw
1045Ivar M FerenczBrazil2025-04-13King, Christopher A Esq RENEWAL88Ioni Bowcher
1046Ivar W BowleyCanada2025-04-20Dorl, James J Esq PROPOSAL34Bernardo Dominic
1047Ricardo T BologniaBrazil2025-04-13Rangoni Of Florence UNQUALIFIED37Amy Elsner
1048Maria M DoeGermany2025-04-30Commercial Press UNQUALIFIED81Elwin Sharvill
1049Murillo I RimIndia2025-04-26Rangoni Of Florence UNQUALIFIED68Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Chavez L DarakjyAustraliaIvan Magalhaes PROPOSAL
Ivar Y VocelkaCanadaIoni Bowcher NEGOTIATION
Alejandro E MarrierGermanyIoni Bowcher PROPOSAL
Chavez H FigeroaGermanyStephen Shaw QUALIFIED
Ashley P CaudyUnited KingdomIvan Magalhaes RENEWAL
Mujtaba B ShinkoRussiaOnyama Limba NEGOTIATION
Isabel I PoquetteFranceOnyama Limba RENEWAL
Aruna A GarufiAustraliaIvan Magalhaes RENEWAL
Leja Q FollerSpainIvan Magalhaes RENEWAL
Tony X RimUnited KingdomStephen Shaw NEGOTIATION
Aruna X CaudyUnited KingdomXuxue Feng NEW
Jennifer Y WhobreyRussiaOnyama Limba UNQUALIFIED
Morrow C VocelkaCanadaBernardo Dominic UNQUALIFIED
Maria J CaudyBrazilElwin Sharvill RENEWAL
Faith C CampainCanadaBernardo Dominic UNQUALIFIED
Juan B SchemmerAustraliaStephen Shaw NEGOTIATION
Adams B ChuiIndiaStephen Shaw NEW
David D ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Salvatore X BriddickAustraliaAmy Elsner NEGOTIATION
Jefferson M DarakjyAustraliaIoni Bowcher PROPOSAL
Arvin D GlickJapanAsiya Javayant NEGOTIATION
Murillo U FollerIndiaAnna Fali NEW
Silvio E MarrierBrazilElwin Sharvill UNQUALIFIED
Aditya H VocelkaGermanyBernardo Dominic NEW
Morrow O StensethUnited KingdomIoni Bowcher UNQUALIFIED
Leon T MacleadIndiaElwin Sharvill QUALIFIED
Alejandro Q PaprockiRussiaStephen Shaw PROPOSAL
Ivar O SaylorsFranceBernardo Dominic QUALIFIED
Costa E GillianIndiaBernardo Dominic RENEWAL
Mujtaba F MacleadAustraliaBernardo Dominic UNQUALIFIED
Antonio Q BologniaRussiaElwin Sharvill NEW
Jefferson W RulapaughBrazilBernardo Dominic NEGOTIATION
James C BowleySpainXuxue Feng QUALIFIED
Sinclair B BowleySpainStephen Shaw NEW
Octavia F WaycottGermanyIvan Magalhaes UNQUALIFIED
Kaitlin P OldroydCanadaStephen Shaw RENEWAL
Ricardo M InouyeFranceIoni Bowcher RENEWAL
Jennifer F SchemmerUnited KingdomOnyama Limba NEW
Aruna Y CaudyRussiaStephen Shaw PROPOSAL
Arvin U RimUnited KingdomStephen Shaw NEW
Smith O CaudyBrazilIoni Bowcher PROPOSAL
Silvio C KuskoSpainXuxue Feng RENEWAL
Claire C VocelkaBrazilIvan Magalhaes QUALIFIED
Salvatore P GillianFranceBernardo Dominic UNQUALIFIED
Francesco T SergiRussiaStephen Shaw PROPOSAL
Smith T WieserSpainAsiya Javayant QUALIFIED
Deepesh R CampainArgentinaStephen Shaw UNQUALIFIED
Stacey X VocelkaCanadaIvan Magalhaes NEW
Octavia P StockhamIndiaAmy Elsner RENEWAL
Mayumi L BologniaRussiaAsiya Javayant RENEWAL
Frozen Columns
Name
Nicolas B Bowley
Claire K Rim
Jefferson E Dilliard
Kadeem F Gaucho
Ashley J Rulapaugh
Clifford Y Sergi
Wickens L Stockham
Salvatore O Chui
Sinclair E Vocelka
Leon V Flosi
Nicolas E Stockham
Jefferson V Ostrosky
Aditya X Sergi
Julie A Glick
Mujtaba B Oldroyd
Claire G Bowley
Ivar M Stockham
Isabel T Nestle
Arvin E Flosi
Ashley I Gillian
Aditya I Bowley
Julie T Maclead
Alejandro U Garufi
Misaki O Sergi
Darci J Maclead
Jefferson E Caudy
Stacey J Flosi
Murillo J Whobrey
Leon R Vocelka
Emily N Marrier
Salvatore H Royster
Claire I Schemmer
Darci P Nicka
Nicolas G Maclead
Maisha Y Maclead
Leja T Poquette
Antonio G Wieser
Rodrigues P Oldroyd
Clifford Z Tollner
Tony Q Schemmer
Morrow M Sergi
Munro Z Schemmer
Claire K Saylors
Ivar W Bowley
Stacey O Butt
Greenwood G Saylors
Chavez E Tollner
Kaitlin A Inouye
Maria P Ruta
Aika L Poquette
IdCountryDate
1000France2025-04-20
1001Japan2025-04-12
1002Canada2025-04-13
1003Italy2025-04-20
1004Australia2025-04-28
1005Russia2025-04-23
1006Italy2025-04-11
1007Australia2025-04-20
1008Spain2025-04-08
1009Canada2025-04-09
1010Australia2025-04-08
1011Germany2025-04-25
1012Germany2025-04-26
1013Brazil2025-04-21
1014France2025-04-16
1015Argentina2025-04-16
1016India2025-04-30
1017Spain2025-04-05
1018Germany2025-04-18
1019France2025-04-28
1020Australia2025-04-28
1021Argentina2025-04-10
1022Spain2025-04-27
1023Japan2025-04-25
1024France2025-04-28
1025Argentina2025-04-25
1026Canada2025-04-12
1027France2025-04-05
1028Brazil2025-04-11
1029United Kingdom2025-04-21
1030Canada2025-04-03
1031Russia2025-04-13
1032India2025-04-10
1033Russia2025-04-11
1034Russia2025-04-28
1035Italy2025-04-29
1036United Kingdom2025-04-14
1037Germany2025-04-15
1038France2025-04-01
1039Australia2025-04-02
1040Italy2025-04-27
1041United Kingdom2025-04-01
1042Russia2025-04-24
1043Australia2025-04-22
1044Argentina2025-04-03
1045Australia2025-04-22
1046Italy2025-04-15
1047United Kingdom2025-04-27
1048Canada2025-04-29
1049Germany2025-04-30

On-Demand Data

NameIdCountryDate
Aditya E Iturbide1000United Kingdom2025-04-25
Munro U Figeroa1001Brazil2025-04-12
Leja W Ferencz1002Argentina2025-04-15
Darci M Gaucho1003India2025-04-06
Stacey O Glick1004Canada2025-04-03
Jefferson T Butt1005Brazil2025-04-13
Arvin T Caldarera1006Spain2025-04-30
Antonio H Sergi1007Brazil2025-04-12
Salvatore T Malet1008Canada2025-04-26
Aditya W Ruta1009India2025-04-10
Antonio D Stenseth1010Argentina2025-04-12
Smith J Rim1011Russia2025-04-30
Costa M Darakjy1012India2025-04-05
Costa Q Caldarera1013Brazil2025-04-28
Darci F Kusko1014Germany2025-04-20
Smith K Waycott1015Russia2025-04-07
Murillo B Briddick1016Spain2025-04-09
Antonio B Wieser1017Germany2025-04-24
Juan R Butt1018Germany2025-04-14
Claire B Campain1019United Kingdom2025-04-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer F BologniaCanadaOnyama Limba PROPOSAL
Clifford L NestleSpainElwin Sharvill RENEWAL
Smith K ButtFranceBernardo Dominic NEGOTIATION
Jones K GillianGermanyXuxue Feng PROPOSAL
Deepesh C PoquetteBrazilIoni Bowcher UNQUALIFIED
Silvio T RutaSpainBernardo Dominic NEW
Ivar L DoeCanadaAsiya Javayant UNQUALIFIED
Nicolas K WaycottItalyBernardo Dominic QUALIFIED
Salvatore S AlbaresIndiaOnyama Limba PROPOSAL
Jefferson W InouyeJapanAmy Elsner NEGOTIATION
Kaitlin P StensethIndiaStephen Shaw PROPOSAL
Juan E DilliardAustraliaAsiya Javayant NEGOTIATION
Cody L FerenczIndiaAnna Fali NEW
Aika T RulapaughFranceIoni Bowcher UNQUALIFIED
Kadeem F SergiUnited KingdomStephen Shaw NEW
Darci P AmigonBrazilIvan Magalhaes PROPOSAL
Maisha K GlickSpainStephen Shaw NEGOTIATION
Ashley J MorascaSpainIvan Magalhaes QUALIFIED
Rodrigues Z BowleyUnited KingdomAnna Fali NEW
Arvin U RimUnited KingdomAnna Fali QUALIFIED
Clifford W GillianCanadaAsiya Javayant NEGOTIATION
Juan D ButtSpainOnyama Limba NEGOTIATION
Juan P KolmetzUnited KingdomAsiya Javayant NEGOTIATION
Tony G GillianIndiaElwin Sharvill PROPOSAL
Rodrigues Y DarakjyFranceAnna Fali QUALIFIED
Aditya M IturbideFranceStephen Shaw UNQUALIFIED
Clifford G GillianCanadaIoni Bowcher PROPOSAL
Sinclair E SlusarskiBrazilAsiya Javayant RENEWAL
Darci S ChuiSpainElwin Sharvill QUALIFIED
Kadeem X StensethJapanIoni Bowcher PROPOSAL
Leja R GarufiArgentinaIoni Bowcher NEW
Alejandro G BriddickUnited KingdomXuxue Feng UNQUALIFIED
Maria T SaylorsItalyIoni Bowcher UNQUALIFIED
James N FigeroaArgentinaXuxue Feng RENEWAL
Adams F GillianCanadaElwin Sharvill NEW
Aditya Y InouyeAustraliaElwin Sharvill NEW
Maria F BowleyBrazilAmy Elsner NEW
Ricardo D MaletCanadaOnyama Limba NEGOTIATION
Tony O SchemmerBrazilIvan Magalhaes UNQUALIFIED
Cody L BriddickItalyAnna Fali PROPOSAL

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