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
Ivar Q DilliardUnited KingdomAnna Fali UNQUALIFIED
Aruna R KuskoFranceIoni Bowcher NEW
Francesco R InouyeCanadaIoni Bowcher RENEWAL
Morrow X NickaJapanStephen Shaw RENEWAL
Clifford K RulapaughArgentinaIvan Magalhaes NEGOTIATION
Aditya L DarakjyIndiaXuxue Feng UNQUALIFIED
Greenwood Q StockhamFranceAnna Fali NEW
Greenwood U MaletJapanStephen Shaw NEGOTIATION
Chavez R RoysterIndiaStephen Shaw NEW
Jefferson D KolmetzJapanElwin Sharvill QUALIFIED
Wickens E RoysterIndiaStephen Shaw NEW
Aruna H WhobreyFranceAnna Fali QUALIFIED
Murillo T WaycottCanadaIvan Magalhaes NEGOTIATION
Jeanfrancois S BowleyItalyAnna Fali QUALIFIED
Arvin E CaldareraRussiaAnna Fali RENEWAL
Morrow L VocelkaUnited KingdomStephen Shaw NEGOTIATION
Sinclair D FigeroaUnited KingdomXuxue Feng QUALIFIED
Kadeem M BowleyUnited KingdomIvan Magalhaes NEW
Kadeem P GarufiGermanyBernardo Dominic NEGOTIATION
Costa K FigeroaRussiaOnyama Limba RENEWAL
Mujtaba Q StensethGermanyAmy Elsner UNQUALIFIED
Jefferson L RulapaughRussiaIvan Magalhaes RENEWAL
Kadeem Z StockhamUnited KingdomStephen Shaw RENEWAL
Aditya L KuskoAustraliaIoni Bowcher NEW
Mujtaba C IturbideUnited KingdomAsiya Javayant NEGOTIATION
Kadeem F SlusarskiAustraliaXuxue Feng NEGOTIATION
Jeanfrancois R MacleadBrazilXuxue Feng RENEWAL
Arvin O DarakjySpainAmy Elsner RENEWAL
Aruna B GauchoIndiaAnna Fali PROPOSAL
Aika E OstroskyBrazilXuxue Feng PROPOSAL
Clifford A CaldareraCanadaAmy Elsner PROPOSAL
Octavia P MorascaCanadaIoni Bowcher RENEWAL
Leja Z StockhamGermanyXuxue Feng QUALIFIED
Smith S WieserFranceIvan Magalhaes RENEWAL
Jefferson Y KolmetzBrazilAsiya Javayant UNQUALIFIED
Misaki T GauchoIndiaXuxue Feng RENEWAL
Juan C TollnerFranceStephen Shaw NEGOTIATION
Johnson K NestleJapanElwin Sharvill RENEWAL
Tony F MaletUnited KingdomAsiya Javayant UNQUALIFIED
Kaitlin Y OstroskyIndiaStephen Shaw UNQUALIFIED
Antonio Z KuskoAustraliaIvan Magalhaes PROPOSAL
Greenwood D OstroskyGermanyIvan Magalhaes NEW
Tony E VenereUnited KingdomElwin Sharvill QUALIFIED
Faith L KuskoSpainAnna Fali NEW
Antonio P RutaRussiaOnyama Limba NEGOTIATION
Antonio Y DilliardIndiaXuxue Feng UNQUALIFIED
Rodrigues I GlickAustraliaElwin Sharvill NEW
Aditya M IturbideAustraliaAmy Elsner UNQUALIFIED
James W ButtArgentinaBernardo Dominic NEW
Leja N OstroskyRussiaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aditya C KolmetzCanadaOnyama Limba PROPOSAL
Costa M RoysterArgentinaAmy Elsner RENEWAL
Kaitlin J GillianUnited KingdomAsiya Javayant NEW
Julie G IturbideIndiaAsiya Javayant NEGOTIATION
Misaki K RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Greenwood O GillianRussiaXuxue Feng UNQUALIFIED
Isabel M WieserUnited KingdomAsiya Javayant PROPOSAL
Francesco Y VenereFranceStephen Shaw PROPOSAL
Emily U BowleyItalyAsiya Javayant QUALIFIED
Sinclair H InouyeUnited KingdomOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair G NestleGermany2024-05-30Buckley Miller Wright QUALIFIED33Elwin Sharvill
1001Deepesh T NestleAustralia2024-05-31Rangoni Of Florence UNQUALIFIED6Elwin Sharvill
1002James F StockhamArgentina2024-06-03Benton, John B Jr NEW26Anna Fali
1003James R FerenczJapan2024-05-25Dorl, James J Esq RENEWAL9Amy Elsner
1004Ivar A AlbaresItaly2024-06-11Truhlar And Truhlar Attys UNQUALIFIED36Ioni Bowcher
1005Aruna D AmigonBrazil2024-06-16Commercial Press NEGOTIATION19Anna Fali
1006Maria Q BowleyItaly2024-06-07Benton, John B Jr QUALIFIED59Onyama Limba
1007Emily V MaletGermany2024-06-04Feltz Printing Service NEGOTIATION64Bernardo Dominic
1008Izzy F AlbaresGermany2024-06-22Truhlar And Truhlar Attys QUALIFIED57Anna Fali
1009Wickens A MacleadUnited Kingdom2024-06-03Feiner Bros PROPOSAL97Bernardo Dominic
1010Antonio X OldroydUnited Kingdom2024-06-12Feiner Bros UNQUALIFIED3Amy Elsner
1011Aditya V GarufiUnited Kingdom2024-06-08King, Christopher A Esq RENEWAL31Ioni Bowcher
1012Kadeem X DoeJapan2024-06-18King, Christopher A Esq RENEWAL19Elwin Sharvill
1013Sinclair W KuskoIndia2024-06-16Chanay, Jeffrey A Esq QUALIFIED32Bernardo Dominic
1014Jeanfrancois E RulapaughIndia2024-06-08Printing Dimensions PROPOSAL55Amy Elsner
1015Aditya B SchemmerJapan2024-06-02Feltz Printing Service NEGOTIATION85Ioni Bowcher
1016Johnson Z PaprockiGermany2024-05-29Benton, John B Jr RENEWAL97Ioni Bowcher
1017Kadeem N CaudyJapan2024-06-07Printing Dimensions PROPOSAL11Ioni Bowcher
1018Tony B WieserRussia2024-05-27Commercial Press PROPOSAL23Ioni Bowcher
1019Munro L RimAustralia2024-06-10Benton, John B Jr RENEWAL44Xuxue Feng
1020Kaitlin A KolmetzBrazil2024-06-05Chemel, James L Cpa NEGOTIATION20Asiya Javayant
1021Jeanfrancois I StensethAustralia2024-06-11Truhlar And Truhlar Attys PROPOSAL32Onyama Limba
1022Jefferson X KolmetzJapan2024-06-17Rousseaux, Michael Esq RENEWAL29Bernardo Dominic
1023Aruna A AmigonSpain2024-06-22Dorl, James J Esq NEGOTIATION49Onyama Limba
1024Maisha R BriddickArgentina2024-06-03King, Christopher A Esq PROPOSAL82Asiya Javayant
1025Jones W PoquetteItaly2024-06-02Rousseaux, Michael Esq NEW20Bernardo Dominic
1026Tony O SlusarskiRussia2024-05-31Chemel, James L Cpa RENEWAL2Elwin Sharvill
1027Faith O CampainSpain2024-06-09Chanay, Jeffrey A Esq PROPOSAL48Stephen Shaw
1028Jeanfrancois L MorascaUnited Kingdom2024-06-10Printing Dimensions NEW46Xuxue Feng
1029Wickens I DarakjyArgentina2024-06-11King, Christopher A Esq PROPOSAL96Ivan Magalhaes
1030Julie I KolmetzFrance2024-05-27Chanay, Jeffrey A Esq PROPOSAL93Stephen Shaw
1031Julie L AlbaresFrance2024-06-22King, Christopher A Esq QUALIFIED3Stephen Shaw
1032Faith Q FerenczItaly2024-06-08Rangoni Of Florence UNQUALIFIED5Elwin Sharvill
1033Ricardo I OstroskyIndia2024-05-25Commercial Press PROPOSAL41Stephen Shaw
1034Alejandro A DoeGermany2024-06-02Commercial Press PROPOSAL95Ioni Bowcher
1035Isabel Y WhobreySpain2024-05-27Feiner Bros PROPOSAL12Bernardo Dominic
1036Mayumi T StockhamBrazil2024-05-27Morlong Associates RENEWAL34Elwin Sharvill
1037Izzy G StockhamJapan2024-06-19Rangoni Of Florence UNQUALIFIED7Xuxue Feng
1038Greenwood A ChuiAustralia2024-06-09Buckley Miller Wright NEW53Xuxue Feng
1039Sinclair H ButtArgentina2024-06-12Feltz Printing Service NEGOTIATION45Amy Elsner
1040Wickens T NestleUnited Kingdom2024-06-09Dorl, James J Esq QUALIFIED96Xuxue Feng
1041Johnson M OldroydCanada2024-06-07Chemel, James L Cpa NEW23Amy Elsner
1042Juan V WhobreyJapan2024-05-29Dorl, James J Esq NEGOTIATION57Stephen Shaw
1043James B KolmetzRussia2024-06-04Dorl, James J Esq QUALIFIED52Asiya Javayant
1044Octavia U MacleadFrance2024-06-02Dorl, James J Esq UNQUALIFIED83Anna Fali
1045Stacey D GlickArgentina2024-06-08Morlong Associates NEW60Onyama Limba
1046Sinclair P InouyeAustralia2024-06-04Feiner Bros RENEWAL4Stephen Shaw
1047Leja Q MorascaJapan2024-06-16Rousseaux, Michael Esq QUALIFIED94Ioni Bowcher
1048Darci A ShinkoBrazil2024-05-24Commercial Press QUALIFIED39Ioni Bowcher
1049Adams W FollerAustralia2024-06-03Chapman, Ross E Esq NEW79Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Wickens L KolmetzJapanAmy Elsner NEGOTIATION
Antonio K GarufiCanadaAnna Fali NEGOTIATION
Alejandro R PaprockiIndiaStephen Shaw PROPOSAL
Claire B MarrierItalyOnyama Limba QUALIFIED
Jennifer N RulapaughFranceXuxue Feng NEGOTIATION
Misaki G OstroskyAustraliaAmy Elsner QUALIFIED
Greenwood D WhobreyIndiaAsiya Javayant NEW
Tony X AlbaresRussiaStephen Shaw NEW
Francesco T ButtSpainIvan Magalhaes UNQUALIFIED
Wickens V MorascaCanadaBernardo Dominic QUALIFIED
Arvin Z MaletGermanyXuxue Feng UNQUALIFIED
Stacey E VenereItalyBernardo Dominic RENEWAL
Julie B SchemmerRussiaOnyama Limba QUALIFIED
Octavia W NickaFranceElwin Sharvill QUALIFIED
Cody T SlusarskiSpainBernardo Dominic PROPOSAL
Sinclair K GillianRussiaBernardo Dominic PROPOSAL
Ivar M RulapaughUnited KingdomStephen Shaw RENEWAL
Arvin T PoquetteItalyBernardo Dominic NEW
Adams G KuskoArgentinaStephen Shaw PROPOSAL
Chavez D GlickItalyBernardo Dominic NEGOTIATION
Cody G GauchoRussiaOnyama Limba NEGOTIATION
Aika C DarakjyCanadaIoni Bowcher QUALIFIED
Aruna V PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Johnson G PaprockiBrazilAsiya Javayant NEW
Arvin Y KolmetzAustraliaAmy Elsner NEGOTIATION
Isabel U RutaJapanElwin Sharvill NEW
Francesco N PoquetteIndiaStephen Shaw NEGOTIATION
Sinclair U VocelkaSpainOnyama Limba PROPOSAL
Nicolas Z SlusarskiJapanIvan Magalhaes QUALIFIED
Francesco G StockhamUnited KingdomXuxue Feng QUALIFIED
Deepesh V RutaAustraliaBernardo Dominic UNQUALIFIED
Cody D RulapaughBrazilOnyama Limba UNQUALIFIED
Aruna Q CaudyBrazilOnyama Limba PROPOSAL
Maria J BriddickFranceAmy Elsner QUALIFIED
Francesco G TollnerRussiaOnyama Limba PROPOSAL
Aditya B DoeJapanAnna Fali UNQUALIFIED
Deepesh E CaudyCanadaIvan Magalhaes RENEWAL
Cody C RoysterBrazilXuxue Feng NEW
Mayumi B VocelkaIndiaStephen Shaw NEW
Jefferson C FlosiJapanStephen Shaw NEW
Nicolas S StockhamArgentinaIoni Bowcher NEGOTIATION
Munro U GauchoCanadaIoni Bowcher UNQUALIFIED
Costa X KuskoArgentinaXuxue Feng NEGOTIATION
Deepesh K NickaFranceBernardo Dominic PROPOSAL
Mayumi O OstroskyIndiaIoni Bowcher NEW
Munro Y NickaCanadaAsiya Javayant RENEWAL
Isabel A VocelkaGermanyStephen Shaw QUALIFIED
Ashley Q GarufiIndiaIvan Magalhaes NEGOTIATION
Sinclair B CaudyAustraliaIoni Bowcher NEW
Emily S MorascaIndiaIoni Bowcher PROPOSAL
Frozen Columns
Name
Salvatore M Garufi
Smith S Rulapaugh
Aditya T Whobrey
Maisha F Slusarski
Darci C Royster
Ashley S Waycott
Smith C Ostrosky
Maria T Shinko
Octavia X Inouye
Stacey W Gaucho
Kaitlin M Caldarera
Sinclair M Oldroyd
Johnson Y Chui
Arvin G Kusko
Juan G Albares
Jones K Saylors
Costa K Kolmetz
Deepesh V Slusarski
Deepesh L Malet
Misaki J Malet
Maria H Garufi
Tony J Figeroa
Faith E Stenseth
Julie I Malet
Darci B Ruta
Darci L Perin
Sinclair R Glick
Alejandro P Schemmer
Ivar K Briddick
Greenwood S Darakjy
Aika T Butt
Arvin J Rulapaugh
Greenwood E Caudy
James A Kusko
Murillo F Dilliard
Aika F Iturbide
James U Venere
Arvin Z Gaucho
Julie W Bowley
Juan P Rulapaugh
Claire R Perin
Murillo P Ferencz
Jennifer V Kusko
Leja J Poquette
Salvatore L Rim
Jefferson Q Oldroyd
Emily L Dilliard
Adams E Stenseth
James W Bolognia
Ashley Q Stockham
IdCountryDate
1000Spain2024-05-24
1001France2024-06-12
1002Brazil2024-06-09
1003Argentina2024-06-14
1004United Kingdom2024-05-31
1005India2024-06-03
1006Russia2024-05-29
1007Brazil2024-06-15
1008Japan2024-06-11
1009Brazil2024-06-16
1010Spain2024-06-21
1011Argentina2024-06-04
1012Russia2024-05-30
1013Brazil2024-06-17
1014Argentina2024-06-15
1015Russia2024-06-21
1016Brazil2024-06-07
1017Argentina2024-06-08
1018Canada2024-05-28
1019Argentina2024-06-06
1020Brazil2024-06-22
1021Australia2024-05-25
1022Spain2024-06-01
1023Canada2024-06-11
1024Italy2024-06-05
1025France2024-06-22
1026Germany2024-05-25
1027France2024-06-14
1028Canada2024-05-24
1029Spain2024-06-11
1030India2024-06-07
1031Canada2024-06-12
1032Canada2024-06-11
1033France2024-05-31
1034Italy2024-06-19
1035Australia2024-05-24
1036Japan2024-06-14
1037Australia2024-06-06
1038Argentina2024-06-03
1039Italy2024-06-15
1040France2024-05-29
1041France2024-05-28
1042Argentina2024-06-02
1043Germany2024-06-16
1044Italy2024-06-02
1045Brazil2024-06-06
1046Japan2024-06-20
1047France2024-06-12
1048Brazil2024-06-12
1049Japan2024-06-12

On-Demand Data

NameIdCountryDate
Chavez R Ferencz1000Canada2024-06-19
Aditya E Briddick1001India2024-06-19
Adams B Poquette1002France2024-06-20
Deepesh Q Poquette1003India2024-06-18
Ashley C Marrier1004Russia2024-06-06
Nicolas D Slusarski1005Germany2024-06-10
Jennifer O Venere1006United Kingdom2024-05-28
Kadeem N Saylors1007Italy2024-06-05
Emily C Nicka1008Brazil2024-05-29
Mayumi A Tollner1009Australia2024-06-03
Adams F Sergi1010Spain2024-05-29
Izzy D Dilliard1011Japan2024-06-19
Clifford J Garufi1012Italy2024-06-05
Leja I Glick1013United Kingdom2024-06-14
Kadeem T Waycott1014Brazil2024-06-16
Julie H Darakjy1015United Kingdom2024-06-17
Francesco H Oldroyd1016Spain2024-05-27
Kadeem S Caldarera1017Germany2024-06-13
Darci D Flosi1018Canada2024-05-28
Greenwood N Royster1019Canada2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin D DilliardCanadaXuxue Feng PROPOSAL
Kadeem S PaprockiRussiaIvan Magalhaes PROPOSAL
Aruna P SchemmerArgentinaIvan Magalhaes NEW
Alejandro A FlosiJapanIoni Bowcher NEW
Deepesh N BologniaGermanyAnna Fali PROPOSAL
Claire A BologniaCanadaStephen Shaw QUALIFIED
Mayumi D KuskoBrazilElwin Sharvill NEW
Tony T AmigonGermanyBernardo Dominic NEGOTIATION
Jones Y MorascaUnited KingdomIvan Magalhaes QUALIFIED
Emily E MacleadRussiaIvan Magalhaes PROPOSAL
Ashley A CaldareraGermanyAsiya Javayant RENEWAL
Juan U MorascaAustraliaBernardo Dominic RENEWAL
Juan Z WaycottIndiaXuxue Feng UNQUALIFIED
Kadeem D WaycottItalyIvan Magalhaes RENEWAL
Leon X IturbideBrazilAnna Fali NEW
Deepesh S FerenczItalyIvan Magalhaes UNQUALIFIED
Maria E NickaGermanyAmy Elsner PROPOSAL
Antonio J IturbideIndiaOnyama Limba NEW
Darci X RimItalyElwin Sharvill NEW
Deepesh F MaletBrazilOnyama Limba QUALIFIED
Clifford F TollnerUnited KingdomAnna Fali PROPOSAL
Nicolas J AlbaresFranceAnna Fali RENEWAL
Sinclair Z DoeItalyAsiya Javayant PROPOSAL
Deepesh N BriddickCanadaElwin Sharvill NEGOTIATION
Jeanfrancois K BriddickCanadaIvan Magalhaes NEW
Deepesh T PaprockiIndiaBernardo Dominic RENEWAL
Ivar F PaprockiItalyAmy Elsner QUALIFIED
Stacey Z BowleySpainIvan Magalhaes RENEWAL
Octavia G MacleadBrazilAmy Elsner RENEWAL
Maria Q FlosiBrazilStephen Shaw RENEWAL
Mayumi U DoeRussiaIvan Magalhaes QUALIFIED
Mayumi F MorascaGermanyBernardo Dominic RENEWAL
Maisha F SchemmerJapanElwin Sharvill PROPOSAL
Izzy L IturbideIndiaIoni Bowcher PROPOSAL
Murillo K BowleySpainOnyama Limba UNQUALIFIED
Darci A FollerAustraliaIoni Bowcher NEW
Greenwood T ShinkoJapanOnyama Limba RENEWAL
Chavez W RulapaughFranceOnyama Limba UNQUALIFIED
David K AlbaresRussiaBernardo Dominic NEGOTIATION
Kaitlin R GlickItalyIvan Magalhaes 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>