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
Murillo Z DarakjyBrazilIvan Magalhaes QUALIFIED
Kadeem A SergiJapanIvan Magalhaes RENEWAL
Juan T PoquetteItalyElwin Sharvill NEGOTIATION
Maisha O VenereSpainIvan Magalhaes NEGOTIATION
Alejandro D TollnerIndiaOnyama Limba PROPOSAL
Francesco Q MorascaJapanAmy Elsner NEW
Nicolas X SergiItalyXuxue Feng NEGOTIATION
James G PaprockiJapanBernardo Dominic NEW
Salvatore P DarakjyBrazilOnyama Limba PROPOSAL
Rodrigues R VocelkaJapanStephen Shaw PROPOSAL
Cody X MaletIndiaAsiya Javayant NEW
Jones F MorascaArgentinaStephen Shaw PROPOSAL
Silvio E PerinArgentinaOnyama Limba QUALIFIED
Maisha V SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Alejandro W PerinItalyElwin Sharvill RENEWAL
James I RimFranceStephen Shaw PROPOSAL
Kaitlin T WieserUnited KingdomIoni Bowcher PROPOSAL
Kaitlin L FlosiGermanyAsiya Javayant RENEWAL
Arvin C StensethCanadaStephen Shaw NEGOTIATION
Kadeem H TollnerFranceIvan Magalhaes UNQUALIFIED
Octavia C CaldareraGermanyIvan Magalhaes PROPOSAL
Francesco F GarufiUnited KingdomIvan Magalhaes QUALIFIED
Aditya H FollerIndiaBernardo Dominic NEW
Jennifer K BriddickUnited KingdomAmy Elsner NEGOTIATION
Cody Q CaldareraJapanAnna Fali UNQUALIFIED
James B FollerSpainStephen Shaw NEGOTIATION
Maisha H GarufiJapanOnyama Limba QUALIFIED
Silvio O WieserIndiaAsiya Javayant UNQUALIFIED
Greenwood K ShinkoIndiaStephen Shaw NEW
Silvio N ChuiFranceElwin Sharvill QUALIFIED
Francesco U DarakjyAustraliaElwin Sharvill UNQUALIFIED
Kaitlin P PaprockiItalyAmy Elsner QUALIFIED
Aditya I RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Johnson N DarakjyAustraliaIvan Magalhaes RENEWAL
David C PerinAustraliaAmy Elsner PROPOSAL
Leon K FigeroaItalyIoni Bowcher UNQUALIFIED
Johnson A SchemmerJapanBernardo Dominic QUALIFIED
Francesco D GlickFranceStephen Shaw QUALIFIED
Deepesh R RulapaughUnited KingdomIoni Bowcher PROPOSAL
David Q GarufiSpainIoni Bowcher NEGOTIATION
Ivar S CaldareraItalyAnna Fali PROPOSAL
Aika K NickaItalyStephen Shaw RENEWAL
Faith B PaprockiCanadaAsiya Javayant NEGOTIATION
Tony Z PerinGermanyElwin Sharvill NEGOTIATION
Morrow G NestleArgentinaBernardo Dominic UNQUALIFIED
Mujtaba C DarakjyItalyIoni Bowcher NEW
Juan V DoeRussiaAmy Elsner UNQUALIFIED
Murillo Q GillianRussiaAmy Elsner NEW
Munro U BriddickFranceStephen Shaw NEW
Ivar K ShinkoRussiaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David C SlusarskiCanadaAnna Fali NEW
Kadeem D BowleyFranceXuxue Feng QUALIFIED
Izzy A RoysterRussiaAmy Elsner PROPOSAL
Octavia N GauchoGermanyAsiya Javayant NEW
Silvio Y KuskoBrazilAnna Fali NEW
Emily V GlickAustraliaAnna Fali NEW
Antonio M ButtAustraliaAnna Fali QUALIFIED
Rodrigues J FigeroaBrazilAsiya Javayant NEGOTIATION
Aditya A GlickFranceIvan Magalhaes PROPOSAL
Darci B GlickCanadaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika E SaylorsSpain2024-05-14Benton, John B Jr NEGOTIATION40Onyama Limba
1001Morrow I MorascaArgentina2024-05-22Rangoni Of Florence NEW72Anna Fali
1002Alejandro V MarrierFrance2024-05-16Chemel, James L Cpa UNQUALIFIED64Ioni Bowcher
1003Ashley H VocelkaFrance2024-05-15Truhlar And Truhlar Attys RENEWAL64Anna Fali
1004Mujtaba D VocelkaFrance2024-05-07Chapman, Ross E Esq NEW7Amy Elsner
1005Rodrigues M VenereGermany2024-05-24Truhlar And Truhlar Attys QUALIFIED48Xuxue Feng
1006Ashley U WhobreyCanada2024-05-24Dorl, James J Esq QUALIFIED36Ivan Magalhaes
1007Silvio H InouyeCanada2024-05-14Feltz Printing Service UNQUALIFIED35Stephen Shaw
1008Nicolas I MaletUnited Kingdom2024-05-17Rousseaux, Michael Esq RENEWAL44Ivan Magalhaes
1009Cody W BologniaItaly2024-05-10Chemel, James L Cpa NEW58Amy Elsner
1010Darci L VocelkaJapan2024-04-30Printing Dimensions QUALIFIED1Xuxue Feng
1011Cody J InouyeSpain2024-05-18Morlong Associates QUALIFIED42Xuxue Feng
1012Mujtaba W RimAustralia2024-05-26Morlong Associates UNQUALIFIED48Xuxue Feng
1013Ivar G BriddickItaly2024-05-22Dorl, James J Esq NEW97Onyama Limba
1014James R FigeroaAustralia2024-05-23Truhlar And Truhlar Attys RENEWAL24Ivan Magalhaes
1015Murillo E GillianSpain2024-05-09King, Christopher A Esq PROPOSAL12Xuxue Feng
1016Octavia H BologniaRussia2024-04-29Chemel, James L Cpa NEW73Xuxue Feng
1017Chavez H WhobreyCanada2024-05-26Buckley Miller Wright QUALIFIED84Bernardo Dominic
1018Darci K PoquetteAustralia2024-05-03Truhlar And Truhlar Attys NEGOTIATION16Ioni Bowcher
1019Alejandro N OstroskyItaly2024-05-17Morlong Associates UNQUALIFIED32Xuxue Feng
1020Stacey E OstroskySpain2024-05-14Chapman, Ross E Esq NEW4Ioni Bowcher
1021Aditya Q WhobreyGermany2024-05-16Truhlar And Truhlar Attys RENEWAL87Elwin Sharvill
1022Tony T PerinAustralia2024-05-12Feltz Printing Service NEW21Asiya Javayant
1023Jennifer T GauchoArgentina2024-05-11Rangoni Of Florence NEGOTIATION4Ioni Bowcher
1024Octavia X MarrierArgentina2024-04-30Chanay, Jeffrey A Esq NEGOTIATION23Stephen Shaw
1025Darci Y NestleSpain2024-05-13Commercial Press NEW53Ioni Bowcher
1026Alejandro G FollerRussia2024-05-08Feltz Printing Service RENEWAL95Anna Fali
1027Antonio W BriddickRussia2024-05-22Rangoni Of Florence UNQUALIFIED8Elwin Sharvill
1028Leon D PaprockiArgentina2024-05-22Feiner Bros QUALIFIED19Onyama Limba
1029Morrow H BowleyIndia2024-05-09Truhlar And Truhlar Attys RENEWAL84Bernardo Dominic
1030Jennifer B MacleadBrazil2024-05-18Dorl, James J Esq PROPOSAL10Xuxue Feng
1031Darci E KolmetzGermany2024-05-16Buckley Miller Wright PROPOSAL41Onyama Limba
1032Antonio V FollerFrance2024-05-27Feiner Bros NEGOTIATION13Ivan Magalhaes
1033David I WhobreyItaly2024-05-21Dorl, James J Esq RENEWAL96Stephen Shaw
1034Aruna B CaudyBrazil2024-05-24Morlong Associates QUALIFIED0Asiya Javayant
1035Misaki B PoquetteBrazil2024-05-15Commercial Press PROPOSAL20Onyama Limba
1036David H SaylorsArgentina2024-05-07Rangoni Of Florence NEGOTIATION21Ioni Bowcher
1037Mayumi G WaycottCanada2024-05-18Morlong Associates NEW89Elwin Sharvill
1038Morrow K SergiIndia2024-05-25Printing Dimensions PROPOSAL77Asiya Javayant
1039James V DarakjyBrazil2024-05-16Printing Dimensions UNQUALIFIED70Asiya Javayant
1040Aditya V MacleadFrance2024-05-19Rangoni Of Florence UNQUALIFIED20Asiya Javayant
1041Costa N PerinSpain2024-05-14Rangoni Of Florence UNQUALIFIED54Bernardo Dominic
1042Misaki K AlbaresFrance2024-05-21Rangoni Of Florence RENEWAL79Elwin Sharvill
1043Ivar K OstroskyGermany2024-04-30Buckley Miller Wright QUALIFIED21Xuxue Feng
1044Kaitlin B SaylorsJapan2024-05-21Buckley Miller Wright NEGOTIATION75Anna Fali
1045Antonio V StockhamUnited Kingdom2024-05-22King, Christopher A Esq QUALIFIED92Elwin Sharvill
1046Kadeem N GarufiCanada2024-05-18Commercial Press QUALIFIED83Elwin Sharvill
1047Murillo Q CaudyIndia2024-05-03King, Christopher A Esq NEW24Elwin Sharvill
1048Cody M RimArgentina2024-05-25Dorl, James J Esq NEGOTIATION72Stephen Shaw
1049Aditya A WhobreyRussia2024-05-25Dorl, James J Esq RENEWAL16Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Wickens H BriddickArgentinaAmy Elsner NEGOTIATION
Julie B PaprockiAustraliaIoni Bowcher RENEWAL
Isabel H PoquetteBrazilAsiya Javayant RENEWAL
Deepesh Y ChuiCanadaBernardo Dominic RENEWAL
Wickens B FerenczAustraliaStephen Shaw NEW
Darci I WaycottArgentinaOnyama Limba PROPOSAL
Smith D GauchoUnited KingdomOnyama Limba RENEWAL
Wickens U MaletBrazilStephen Shaw UNQUALIFIED
Cody U FlosiCanadaAmy Elsner UNQUALIFIED
Costa F TollnerBrazilAmy Elsner UNQUALIFIED
Julie C SaylorsGermanyAsiya Javayant QUALIFIED
Antonio I BologniaBrazilAnna Fali QUALIFIED
Aika E KolmetzArgentinaStephen Shaw RENEWAL
Aditya B CaudyGermanyStephen Shaw NEW
Stacey E MaletGermanyAnna Fali RENEWAL
Izzy T NestleFranceIvan Magalhaes NEW
Nicolas P FollerRussiaElwin Sharvill UNQUALIFIED
David V WieserRussiaOnyama Limba PROPOSAL
Faith L VenereCanadaAmy Elsner NEGOTIATION
Ashley E RimArgentinaAsiya Javayant QUALIFIED
Claire P BriddickAustraliaIvan Magalhaes QUALIFIED
Rodrigues I FollerCanadaIvan Magalhaes NEW
Isabel J InouyeRussiaBernardo Dominic UNQUALIFIED
Maria P StensethGermanyStephen Shaw QUALIFIED
Alejandro M PoquetteJapanBernardo Dominic QUALIFIED
Sinclair X PerinGermanyXuxue Feng NEGOTIATION
David L AlbaresArgentinaBernardo Dominic NEGOTIATION
Costa G BriddickCanadaElwin Sharvill PROPOSAL
Munro I CaldareraJapanStephen Shaw PROPOSAL
Costa Y TollnerArgentinaOnyama Limba NEGOTIATION
Maria J TollnerCanadaXuxue Feng QUALIFIED
Francesco K GillianFranceAmy Elsner UNQUALIFIED
Faith Z InouyeUnited KingdomElwin Sharvill NEGOTIATION
Jennifer Q RulapaughUnited KingdomXuxue Feng RENEWAL
Izzy T AmigonGermanyIoni Bowcher UNQUALIFIED
Aditya D CampainAustraliaBernardo Dominic PROPOSAL
Johnson S GauchoFranceAnna Fali PROPOSAL
Octavia A MaletJapanAmy Elsner PROPOSAL
Darci O StockhamRussiaStephen Shaw NEGOTIATION
Salvatore R SlusarskiUnited KingdomElwin Sharvill NEW
Emily P InouyeSpainAsiya Javayant UNQUALIFIED
Emily T FlosiRussiaAnna Fali NEW
Wickens A ShinkoUnited KingdomAsiya Javayant NEW
Maisha E RimGermanyIoni Bowcher PROPOSAL
Emily V MarrierItalyIvan Magalhaes RENEWAL
Cody L MacleadGermanyStephen Shaw RENEWAL
Salvatore T GarufiCanadaAsiya Javayant UNQUALIFIED
Leja C ButtFranceAnna Fali RENEWAL
Smith J StensethCanadaStephen Shaw UNQUALIFIED
Octavia U WieserAustraliaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Cody Q Venere
Sinclair T Kolmetz
Faith I Doe
Jeanfrancois E Perin
Kaitlin D Stockham
Stacey E Tollner
Stacey X Maclead
Clifford W Iturbide
Kaitlin X Rim
Darci M Malet
Murillo A Malet
Francesco J Inouye
Deepesh F Slusarski
Ricardo L Ruta
Isabel W Glick
Misaki J Rim
Murillo A Kolmetz
James K Paprocki
Mayumi U Tollner
Kaitlin R Darakjy
Cody X Royster
Smith P Caldarera
Juan K Wieser
Izzy V Perin
Jefferson J Ostrosky
Salvatore F Garufi
Isabel E Figeroa
Jeanfrancois J Doe
Isabel J Flosi
Jennifer C Foller
Izzy U Amigon
Cody Q Schemmer
Kaitlin B Slusarski
Mayumi O Waycott
Smith V Malet
Leja B Royster
Ivar V Perin
Kaitlin O Nestle
Tony N Slusarski
Tony K Malet
Sinclair D Foller
Jefferson V Briddick
Isabel V Ferencz
Claire Z Poquette
Ashley O Amigon
Claire L Iturbide
Stacey I Perin
Kadeem I Darakjy
Jennifer N Venere
Emily D Slusarski
IdCountryDate
1000Argentina2024-05-21
1001Argentina2024-05-16
1002Brazil2024-05-19
1003Italy2024-04-29
1004Italy2024-05-20
1005Italy2024-05-27
1006Spain2024-05-10
1007Argentina2024-05-27
1008Spain2024-05-16
1009Italy2024-05-03
1010Russia2024-05-23
1011India2024-05-09
1012Russia2024-05-06
1013Japan2024-05-19
1014United Kingdom2024-05-07
1015India2024-05-09
1016France2024-05-25
1017Brazil2024-05-15
1018India2024-05-14
1019France2024-05-25
1020Japan2024-05-12
1021Russia2024-05-10
1022Russia2024-05-03
1023Japan2024-05-15
1024Japan2024-05-11
1025United Kingdom2024-05-14
1026Brazil2024-05-05
1027Russia2024-05-01
1028Italy2024-05-08
1029Japan2024-05-16
1030Japan2024-05-22
1031Spain2024-04-30
1032Italy2024-05-12
1033Russia2024-05-23
1034Japan2024-05-12
1035India2024-05-17
1036Germany2024-05-26
1037Japan2024-05-20
1038Canada2024-05-08
1039Italy2024-05-02
1040India2024-05-27
1041India2024-05-23
1042India2024-05-24
1043Spain2024-04-28
1044Canada2024-05-19
1045United Kingdom2024-05-02
1046Australia2024-05-02
1047Japan2024-05-05
1048Italy2024-05-04
1049Italy2024-05-09

On-Demand Data

NameIdCountryDate
Mujtaba J Gaucho1000Canada2024-05-21
Rodrigues X Glick1001Canada2024-05-19
Darci N Maclead1002Russia2024-05-27
Isabel L Rim1003Canada2024-04-28
Jones V Dilliard1004Russia2024-05-10
Leja M Stenseth1005Argentina2024-05-26
Morrow E Foller1006Germany2024-05-21
Morrow P Oldroyd1007Italy2024-05-12
Deepesh O Oldroyd1008Japan2024-04-28
Izzy I Shinko1009Brazil2024-05-22
Wickens Q Dilliard1010Japan2024-05-11
Costa A Whobrey1011France2024-05-24
Jones U Butt1012Australia2024-05-03
Claire O Sergi1013Australia2024-05-17
Murillo F Butt1014Germany2024-05-10
Ivar I Tollner1015Brazil2024-05-07
Misaki F Gillian1016Argentina2024-05-03
Sinclair U Malet1017France2024-05-25
Salvatore N Inouye1018Italy2024-05-02
Isabel E Bowley1019Japan2024-04-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi P DoeSpainIoni Bowcher NEGOTIATION
Claire G SchemmerIndiaAsiya Javayant UNQUALIFIED
Aika C RoysterAustraliaElwin Sharvill PROPOSAL
Jones O OldroydGermanyStephen Shaw RENEWAL
Adams R NestleArgentinaStephen Shaw RENEWAL
Juan K FlosiRussiaAsiya Javayant PROPOSAL
Leja M GauchoUnited KingdomXuxue Feng QUALIFIED
Wickens R IturbideIndiaBernardo Dominic UNQUALIFIED
Chavez W FigeroaAustraliaIoni Bowcher PROPOSAL
Rodrigues M SaylorsItalyAsiya Javayant RENEWAL
Clifford Z IturbideItalyAnna Fali PROPOSAL
Ricardo C NickaBrazilAmy Elsner NEGOTIATION
Johnson H BowleyFranceXuxue Feng QUALIFIED
Deepesh X MaletArgentinaIoni Bowcher RENEWAL
Ivar M OldroydUnited KingdomIoni Bowcher RENEWAL
Aika W VocelkaRussiaIvan Magalhaes NEGOTIATION
Munro W RulapaughCanadaIvan Magalhaes NEW
Arvin C VenereItalyBernardo Dominic NEW
Maisha J MaletFranceAmy Elsner PROPOSAL
Antonio P VocelkaUnited KingdomStephen Shaw NEGOTIATION
Antonio K StockhamBrazilAnna Fali NEGOTIATION
Faith R OstroskyArgentinaAsiya Javayant PROPOSAL
Salvatore Q IturbideJapanBernardo Dominic UNQUALIFIED
James S SlusarskiGermanyBernardo Dominic NEW
Arvin Q AlbaresGermanyAmy Elsner RENEWAL
Faith N ChuiAustraliaIvan Magalhaes NEW
Salvatore Q MarrierAustraliaBernardo Dominic RENEWAL
Costa C ButtUnited KingdomIvan Magalhaes UNQUALIFIED
Darci Z ShinkoAustraliaAmy Elsner PROPOSAL
Chavez O IturbideIndiaBernardo Dominic UNQUALIFIED
Jefferson K VocelkaCanadaOnyama Limba UNQUALIFIED
Wickens H GillianBrazilXuxue Feng QUALIFIED
Cody P DilliardAustraliaOnyama Limba NEW
Jeanfrancois V ButtArgentinaOnyama Limba NEGOTIATION
Claire A IturbideFranceElwin Sharvill UNQUALIFIED
Greenwood E DarakjyAustraliaAmy Elsner RENEWAL
Alejandro G ChuiBrazilIoni Bowcher RENEWAL
Costa H OstroskyUnited KingdomOnyama Limba RENEWAL
Wickens G FollerBrazilIvan Magalhaes NEGOTIATION
Munro X RutaItalyOnyama Limba RENEWAL

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