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
Greenwood E BowleyGermanyAsiya Javayant NEGOTIATION
Chavez O CaldareraUnited KingdomBernardo Dominic RENEWAL
Morrow G BriddickFranceIoni Bowcher NEW
Ashley O PaprockiUnited KingdomOnyama Limba RENEWAL
James X PoquetteJapanAnna Fali RENEWAL
Octavia J DoeRussiaBernardo Dominic RENEWAL
Faith J SchemmerIndiaXuxue Feng QUALIFIED
Murillo D NestleRussiaElwin Sharvill NEGOTIATION
Emily F MaletFranceAmy Elsner NEGOTIATION
Chavez F GarufiCanadaElwin Sharvill NEGOTIATION
Leja U SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Maisha Z RutaArgentinaIvan Magalhaes NEW
David U NickaSpainIoni Bowcher PROPOSAL
Misaki S BowleyAustraliaAnna Fali QUALIFIED
Johnson J AmigonCanadaAnna Fali QUALIFIED
Stacey S RutaItalyIvan Magalhaes NEGOTIATION
Salvatore C VenereItalyXuxue Feng QUALIFIED
Murillo V NestleCanadaElwin Sharvill UNQUALIFIED
Deepesh Y AmigonArgentinaIvan Magalhaes NEGOTIATION
Mujtaba G BowleyBrazilElwin Sharvill PROPOSAL
Morrow X KolmetzRussiaAsiya Javayant NEGOTIATION
Maria E PoquetteJapanElwin Sharvill NEW
Leon W CampainIndiaAmy Elsner QUALIFIED
Kadeem G CampainJapanAnna Fali UNQUALIFIED
Rodrigues S ButtIndiaBernardo Dominic RENEWAL
Johnson I CaudyCanadaElwin Sharvill QUALIFIED
Izzy V RulapaughCanadaXuxue Feng NEGOTIATION
Mujtaba U WaycottGermanyAnna Fali NEGOTIATION
Sinclair Q OldroydSpainStephen Shaw UNQUALIFIED
Aditya S WaycottIndiaBernardo Dominic UNQUALIFIED
Arvin J GauchoSpainAnna Fali UNQUALIFIED
Darci C KuskoItalyStephen Shaw NEGOTIATION
Leja P WaycottUnited KingdomAmy Elsner UNQUALIFIED
Maisha I WaycottRussiaIvan Magalhaes NEGOTIATION
Arvin Z FigeroaBrazilOnyama Limba PROPOSAL
Ashley P StensethFranceElwin Sharvill PROPOSAL
Tony S KuskoItalyStephen Shaw RENEWAL
Murillo D GlickCanadaAsiya Javayant UNQUALIFIED
Alejandro H FerenczFranceIoni Bowcher RENEWAL
Alejandro S GillianGermanyAsiya Javayant RENEWAL
Mayumi O GillianArgentinaIvan Magalhaes UNQUALIFIED
Izzy S RoysterUnited KingdomAsiya Javayant NEGOTIATION
Aruna A PaprockiRussiaAnna Fali PROPOSAL
Smith N SlusarskiCanadaElwin Sharvill QUALIFIED
Misaki C RulapaughRussiaXuxue Feng UNQUALIFIED
Emily S BowleyArgentinaElwin Sharvill RENEWAL
Morrow B KuskoCanadaAmy Elsner PROPOSAL
Izzy P TollnerUnited KingdomStephen Shaw QUALIFIED
Deepesh S OstroskySpainAmy Elsner NEW
Arvin N ChuiUnited KingdomXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna K CaudyUnited KingdomElwin Sharvill RENEWAL
Emily H FollerGermanyAnna Fali QUALIFIED
Francesco A WaycottCanadaXuxue Feng NEGOTIATION
Johnson S RutaBrazilAnna Fali NEW
Sinclair I StockhamSpainAmy Elsner NEW
Maria Z VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Misaki K StensethItalyAmy Elsner NEGOTIATION
Silvio X ChuiArgentinaAsiya Javayant NEGOTIATION
Adams U MaletBrazilIvan Magalhaes PROPOSAL
Alejandro N StensethFranceIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar X PerinCanada2024-05-26Truhlar And Truhlar Attys UNQUALIFIED3Onyama Limba
1001Kadeem I FollerAustralia2024-06-01Feiner Bros NEW97Xuxue Feng
1002Jefferson C BowleyBrazil2024-06-02Rousseaux, Michael Esq RENEWAL90Anna Fali
1003Izzy E SlusarskiIndia2024-06-24Chanay, Jeffrey A Esq PROPOSAL54Elwin Sharvill
1004Costa H StockhamFrance2024-06-12Feltz Printing Service NEGOTIATION97Stephen Shaw
1005Ashley R GauchoGermany2024-06-12Benton, John B Jr NEW36Ioni Bowcher
1006Aditya X BriddickRussia2024-06-20Truhlar And Truhlar Attys QUALIFIED95Ioni Bowcher
1007Juan M InouyeIndia2024-06-16Printing Dimensions RENEWAL29Amy Elsner
1008Stacey N RulapaughUnited Kingdom2024-06-08Rousseaux, Michael Esq QUALIFIED87Ivan Magalhaes
1009Adams H CaudyJapan2024-06-23Commercial Press NEGOTIATION4Onyama Limba
1010Isabel Z AlbaresCanada2024-06-01Buckley Miller Wright UNQUALIFIED87Ivan Magalhaes
1011Octavia E StensethCanada2024-05-27Morlong Associates NEW11Asiya Javayant
1012Claire Q RimJapan2024-06-23Feiner Bros NEW10Amy Elsner
1013Misaki X MorascaIndia2024-06-17Feiner Bros NEW38Xuxue Feng
1014Kadeem V GlickUnited Kingdom2024-06-09Morlong Associates NEGOTIATION56Amy Elsner
1015Aika L InouyeFrance2024-06-17Truhlar And Truhlar Attys NEGOTIATION96Elwin Sharvill
1016Ivar Y AmigonRussia2024-06-14Rousseaux, Michael Esq NEGOTIATION35Asiya Javayant
1017James O VocelkaRussia2024-06-04Feltz Printing Service QUALIFIED9Ivan Magalhaes
1018Costa A SaylorsAustralia2024-05-28Buckley Miller Wright PROPOSAL53Xuxue Feng
1019Arvin K FerenczBrazil2024-06-04Feiner Bros UNQUALIFIED63Stephen Shaw
1020Aika Q ShinkoUnited Kingdom2024-06-06Rangoni Of Florence UNQUALIFIED78Amy Elsner
1021Wickens F DoeAustralia2024-06-06Chemel, James L Cpa UNQUALIFIED93Asiya Javayant
1022Salvatore G DoeJapan2024-05-31Benton, John B Jr NEGOTIATION61Ioni Bowcher
1023Antonio H FigeroaRussia2024-06-24Chemel, James L Cpa QUALIFIED66Ioni Bowcher
1024James E MarrierSpain2024-06-24Chapman, Ross E Esq QUALIFIED7Ioni Bowcher
1025Nicolas V ChuiIndia2024-06-03Benton, John B Jr PROPOSAL71Stephen Shaw
1026Jefferson I KuskoAustralia2024-06-23Truhlar And Truhlar Attys QUALIFIED46Amy Elsner
1027Ashley A NestleRussia2024-06-06Dorl, James J Esq NEW11Ioni Bowcher
1028Octavia S FlosiUnited Kingdom2024-06-04Benton, John B Jr RENEWAL74Anna Fali
1029Faith U ButtIndia2024-06-22Buckley Miller Wright NEGOTIATION76Stephen Shaw
1030Murillo U SchemmerUnited Kingdom2024-06-24Benton, John B Jr NEGOTIATION21Onyama Limba
1031Kadeem I StockhamIndia2024-06-18Chemel, James L Cpa UNQUALIFIED32Ivan Magalhaes
1032Arvin R DilliardArgentina2024-06-07Rousseaux, Michael Esq PROPOSAL19Amy Elsner
1033Nicolas S WhobreyFrance2024-06-14Feiner Bros UNQUALIFIED86Ioni Bowcher
1034Sinclair R AlbaresSpain2024-06-02King, Christopher A Esq PROPOSAL21Ioni Bowcher
1035Ivar K GarufiGermany2024-06-15Buckley Miller Wright NEGOTIATION34Asiya Javayant
1036Julie H ButtAustralia2024-06-10Morlong Associates NEW98Asiya Javayant
1037Adams X RoysterAustralia2024-06-16Feiner Bros UNQUALIFIED26Ioni Bowcher
1038Mujtaba F RoysterItaly2024-06-03Buckley Miller Wright NEW30Stephen Shaw
1039Leon I MarrierCanada2024-06-16Chanay, Jeffrey A Esq RENEWAL5Ioni Bowcher
1040Darci P VocelkaAustralia2024-06-13Dorl, James J Esq QUALIFIED13Elwin Sharvill
1041Jones A MacleadBrazil2024-06-12Chemel, James L Cpa UNQUALIFIED88Elwin Sharvill
1042Emily G MaletJapan2024-05-31Feltz Printing Service PROPOSAL18Amy Elsner
1043James J FigeroaArgentina2024-05-31Commercial Press NEGOTIATION61Onyama Limba
1044Antonio U AmigonUnited Kingdom2024-06-17Chemel, James L Cpa PROPOSAL94Ioni Bowcher
1045Nicolas I MaletAustralia2024-06-10Chapman, Ross E Esq PROPOSAL12Asiya Javayant
1046Clifford S CaldareraAustralia2024-05-30King, Christopher A Esq NEGOTIATION67Asiya Javayant
1047Jennifer B MaletCanada2024-06-02Dorl, James J Esq NEW46Onyama Limba
1048Ivar L MaletJapan2024-05-27Feltz Printing Service PROPOSAL75Ioni Bowcher
1049Jones J PerinIndia2024-05-31Feiner Bros NEW66Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Darci U MorascaBrazilAmy Elsner NEW
Greenwood S ShinkoRussiaStephen Shaw PROPOSAL
Mujtaba A GarufiItalyElwin Sharvill UNQUALIFIED
Deepesh M GlickUnited KingdomIoni Bowcher UNQUALIFIED
James S FigeroaFranceAsiya Javayant RENEWAL
Johnson N WhobreyUnited KingdomStephen Shaw RENEWAL
Murillo W WieserAustraliaStephen Shaw QUALIFIED
Salvatore K AmigonArgentinaIvan Magalhaes NEW
Arvin A StockhamArgentinaAsiya Javayant PROPOSAL
Mujtaba F DarakjyRussiaElwin Sharvill PROPOSAL
Wickens L SergiJapanOnyama Limba NEW
James Z FlosiSpainAnna Fali NEW
Emily I ButtFranceStephen Shaw PROPOSAL
Izzy U GlickGermanyAsiya Javayant PROPOSAL
Mayumi D GlickRussiaOnyama Limba QUALIFIED
Antonio G WaycottBrazilAsiya Javayant NEGOTIATION
Francesco M ChuiCanadaAmy Elsner QUALIFIED
Nicolas T OstroskyCanadaAmy Elsner PROPOSAL
Mujtaba J RoysterRussiaElwin Sharvill PROPOSAL
Mayumi H DoeUnited KingdomIoni Bowcher QUALIFIED
Morrow A GauchoBrazilIvan Magalhaes RENEWAL
Darci M AlbaresRussiaIoni Bowcher RENEWAL
Kaitlin P NestleItalyXuxue Feng PROPOSAL
Darci O StensethUnited KingdomAmy Elsner RENEWAL
Sinclair S FigeroaBrazilAsiya Javayant NEGOTIATION
Octavia C RimUnited KingdomXuxue Feng UNQUALIFIED
Aditya V FlosiCanadaAsiya Javayant NEGOTIATION
Costa G NickaCanadaStephen Shaw NEW
Julie X PoquetteGermanyIoni Bowcher RENEWAL
Jeanfrancois V GarufiUnited KingdomBernardo Dominic QUALIFIED
Arvin J SergiAustraliaAmy Elsner NEW
Chavez I VenereSpainAsiya Javayant NEW
Leon T VenereCanadaBernardo Dominic UNQUALIFIED
Chavez L CampainItalyStephen Shaw NEGOTIATION
Sinclair P AmigonUnited KingdomAnna Fali NEGOTIATION
David W MarrierRussiaAsiya Javayant RENEWAL
Kadeem S AlbaresCanadaStephen Shaw RENEWAL
Cody K MaletCanadaIvan Magalhaes NEW
Maria O NickaSpainAsiya Javayant RENEWAL
Faith N MacleadIndiaAsiya Javayant RENEWAL
Munro Y MacleadCanadaAmy Elsner NEW
Jefferson D KolmetzCanadaOnyama Limba QUALIFIED
Maria X InouyeFranceAmy Elsner UNQUALIFIED
Ivar N ShinkoGermanyStephen Shaw PROPOSAL
Rodrigues D WieserIndiaAnna Fali UNQUALIFIED
Stacey N BologniaFranceOnyama Limba UNQUALIFIED
Smith L BologniaIndiaElwin Sharvill QUALIFIED
Julie C WaycottItalyBernardo Dominic UNQUALIFIED
Isabel H RutaJapanIvan Magalhaes UNQUALIFIED
Misaki X DilliardJapanStephen Shaw NEW
Frozen Columns
Name
Leja F Rim
Ivar V Sergi
Kadeem L Kusko
Aika M Figeroa
Morrow U Inouye
Sinclair F Amigon
Antonio U Campain
Nicolas X Sergi
Johnson J Sergi
Munro H Stenseth
Stacey Z Bolognia
Murillo A Oldroyd
Antonio Y Oldroyd
Tony N Perin
Alejandro R Ostrosky
Jefferson A Campain
Nicolas F Schemmer
Faith A Stenseth
Kaitlin N Ferencz
Kadeem E Gaucho
Aruna I Marrier
Adams I Perin
Morrow O Inouye
Maria P Rim
Wickens B Maclead
Jennifer V Vocelka
Claire Q Flosi
Rodrigues O Nicka
Julie M Nicka
Izzy Z Amigon
Greenwood U Kusko
Arvin Y Campain
Sinclair R Malet
Costa Y Figeroa
Izzy Y Gaucho
Aika P Paprocki
Salvatore Y Campain
Nicolas K Ruta
Misaki D Sergi
Leja F Doe
Mujtaba O Maclead
Smith S Ferencz
Wickens L Schemmer
Faith Y Ferencz
Faith O Flosi
Stacey I Kusko
James B Nestle
Cody X Dilliard
Costa S Wieser
Izzy D Rim
IdCountryDate
1000Canada2024-06-11
1001France2024-06-05
1002Argentina2024-06-23
1003Italy2024-06-02
1004Germany2024-06-17
1005Canada2024-05-26
1006Italy2024-06-19
1007France2024-06-06
1008Italy2024-06-03
1009Italy2024-06-19
1010Canada2024-06-23
1011Spain2024-06-17
1012Brazil2024-06-12
1013France2024-06-22
1014Russia2024-06-01
1015France2024-06-12
1016Australia2024-05-26
1017Germany2024-06-22
1018France2024-06-10
1019Brazil2024-05-30
1020Australia2024-05-27
1021Spain2024-06-19
1022Italy2024-06-07
1023India2024-06-02
1024Japan2024-06-23
1025Japan2024-05-28
1026India2024-06-03
1027Germany2024-06-19
1028Russia2024-05-31
1029Australia2024-06-08
1030Brazil2024-05-26
1031Italy2024-05-28
1032Canada2024-06-11
1033India2024-06-01
1034United Kingdom2024-06-14
1035United Kingdom2024-05-31
1036United Kingdom2024-06-21
1037Canada2024-06-24
1038Germany2024-06-01
1039Italy2024-06-20
1040France2024-06-21
1041United Kingdom2024-06-12
1042Germany2024-06-22
1043United Kingdom2024-05-30
1044Brazil2024-06-09
1045France2024-06-12
1046Russia2024-06-07
1047Argentina2024-06-18
1048United Kingdom2024-05-28
1049Russia2024-06-03

On-Demand Data

NameIdCountryDate
Emily V Royster1000Canada2024-06-14
Morrow R Ruta1001India2024-06-06
Leja Q Kusko1002Argentina2024-06-16
Clifford I Flosi1003Italy2024-05-27
Izzy Z Wieser1004Japan2024-06-16
Juan M Rim1005Japan2024-06-02
Silvio I Darakjy1006France2024-05-26
Francesco X Kusko1007Argentina2024-05-31
Greenwood G Flosi1008India2024-05-29
Aruna R Ruta1009Italy2024-06-24
Sinclair J Saylors1010Australia2024-06-09
Cody K Tollner1011Spain2024-06-08
Aditya X Chui1012Germany2024-06-16
James T Albares1013Canada2024-06-04
Chavez S Inouye1014Canada2024-06-10
Leja A Briddick1015Italy2024-06-03
Kadeem T Albares1016India2024-06-07
Jeanfrancois M Slusarski1017United Kingdom2024-06-19
Antonio O Slusarski1018Spain2024-06-06
Octavia O Rulapaugh1019Japan2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith P NestleBrazilStephen Shaw NEGOTIATION
Kaitlin X ShinkoArgentinaIoni Bowcher PROPOSAL
Smith W MorascaUnited KingdomAmy Elsner UNQUALIFIED
Aruna I SlusarskiSpainIoni Bowcher QUALIFIED
Isabel Z AmigonItalyStephen Shaw NEW
Emily Q FollerCanadaIvan Magalhaes QUALIFIED
Nicolas S BriddickAustraliaElwin Sharvill UNQUALIFIED
Leon L PoquetteFranceIoni Bowcher NEW
Tony B GlickAustraliaIvan Magalhaes PROPOSAL
Claire A AlbaresArgentinaIoni Bowcher NEW
Smith D DilliardSpainAmy Elsner NEW
Aika G VocelkaBrazilIoni Bowcher NEGOTIATION
Sinclair O RimItalyAmy Elsner RENEWAL
Maria M FlosiCanadaBernardo Dominic NEGOTIATION
Mujtaba X WhobreyFranceAnna Fali NEW
Isabel I GillianFranceAmy Elsner RENEWAL
Johnson K BologniaSpainStephen Shaw QUALIFIED
Cody O PaprockiJapanOnyama Limba QUALIFIED
Stacey Z TollnerIndiaOnyama Limba NEW
Leon G MacleadCanadaStephen Shaw QUALIFIED
Ricardo C SlusarskiSpainStephen Shaw QUALIFIED
Jones H ShinkoBrazilAnna Fali NEW
Smith H MaletJapanStephen Shaw RENEWAL
Emily V ShinkoJapanAnna Fali NEGOTIATION
Stacey I BowleyIndiaElwin Sharvill UNQUALIFIED
Wickens S VocelkaCanadaStephen Shaw NEGOTIATION
Alejandro F NestleItalyStephen Shaw UNQUALIFIED
Mujtaba Q PoquetteItalyStephen Shaw QUALIFIED
Aruna A GauchoArgentinaAmy Elsner UNQUALIFIED
Darci H KolmetzBrazilBernardo Dominic UNQUALIFIED
Jefferson H FollerRussiaIvan Magalhaes QUALIFIED
Kaitlin X FigeroaBrazilAsiya Javayant UNQUALIFIED
Emily M AmigonSpainStephen Shaw NEGOTIATION
Clifford J GillianGermanyXuxue Feng NEW
Deepesh L GlickSpainElwin Sharvill QUALIFIED
Sinclair M BowleyGermanyIoni Bowcher RENEWAL
Murillo U FollerGermanyElwin Sharvill PROPOSAL
Maria E TollnerItalyOnyama Limba NEW
Kaitlin E DilliardArgentinaIoni Bowcher QUALIFIED
Silvio R StensethBrazilOnyama Limba QUALIFIED

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