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 P AmigonJapanXuxue Feng PROPOSAL
Morrow X CaudySpainAnna Fali NEGOTIATION
Kadeem R TollnerFranceBernardo Dominic UNQUALIFIED
Stacey E WieserBrazilXuxue Feng RENEWAL
Smith V FigeroaItalyOnyama Limba RENEWAL
Mujtaba R PaprockiIndiaElwin Sharvill UNQUALIFIED
Jennifer S PerinRussiaIvan Magalhaes NEGOTIATION
Smith M MarrierItalyBernardo Dominic NEGOTIATION
Mujtaba W MaletSpainIoni Bowcher QUALIFIED
Kaitlin W ButtUnited KingdomOnyama Limba UNQUALIFIED
Stacey U KuskoCanadaIoni Bowcher QUALIFIED
Misaki I AlbaresRussiaIvan Magalhaes RENEWAL
Murillo Y FigeroaJapanAmy Elsner QUALIFIED
Juan E RimCanadaXuxue Feng NEGOTIATION
Adams S NestleSpainXuxue Feng NEGOTIATION
Costa Z TollnerSpainIvan Magalhaes PROPOSAL
Misaki B AlbaresUnited KingdomBernardo Dominic RENEWAL
Juan P GarufiJapanBernardo Dominic QUALIFIED
Deepesh V MaletRussiaAnna Fali UNQUALIFIED
Nicolas D MaletRussiaAsiya Javayant RENEWAL
David A GlickBrazilAsiya Javayant PROPOSAL
Costa W AmigonIndiaElwin Sharvill PROPOSAL
Wickens F GauchoCanadaXuxue Feng NEGOTIATION
Jones S StensethItalyIoni Bowcher UNQUALIFIED
Jefferson G FlosiBrazilBernardo Dominic NEW
Chavez B ChuiIndiaXuxue Feng NEGOTIATION
Stacey A RulapaughSpainAmy Elsner UNQUALIFIED
James I WhobreyGermanyIvan Magalhaes UNQUALIFIED
Kaitlin D RulapaughFranceOnyama Limba NEGOTIATION
Smith Q CaudyRussiaStephen Shaw RENEWAL
Silvio S NickaSpainBernardo Dominic NEGOTIATION
Smith D CaudyAustraliaStephen Shaw PROPOSAL
Ivar C BologniaArgentinaXuxue Feng NEW
Antonio L SchemmerSpainIoni Bowcher NEW
Aruna P GauchoIndiaAnna Fali NEGOTIATION
Aruna J KuskoUnited KingdomXuxue Feng NEW
Smith Z RulapaughCanadaAsiya Javayant NEW
Kaitlin M WaycottGermanyXuxue Feng QUALIFIED
Clifford D GlickArgentinaAmy Elsner RENEWAL
Ivar C FollerJapanOnyama Limba NEW
Cody B StockhamCanadaElwin Sharvill NEW
Tony W FigeroaItalyXuxue Feng QUALIFIED
Ashley V NickaFranceIoni Bowcher UNQUALIFIED
Jones Z PaprockiIndiaXuxue Feng QUALIFIED
Stacey B GarufiFranceAsiya Javayant NEGOTIATION
Juan N PerinAustraliaAmy Elsner PROPOSAL
Murillo L VenereGermanyIoni Bowcher NEGOTIATION
Chavez Y CaudyGermanyStephen Shaw RENEWAL
Chavez O FigeroaRussiaAmy Elsner QUALIFIED
Aditya A StockhamCanadaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Izzy O AmigonAustraliaIvan Magalhaes PROPOSAL
Maria E VenereGermanyAmy Elsner QUALIFIED
Claire F SlusarskiFranceAmy Elsner RENEWAL
Mujtaba W StockhamItalyAsiya Javayant PROPOSAL
Johnson N CampainCanadaAmy Elsner PROPOSAL
Jefferson I PoquetteAustraliaIvan Magalhaes QUALIFIED
Octavia A MacleadUnited KingdomBernardo Dominic RENEWAL
Mujtaba Q NickaCanadaAsiya Javayant RENEWAL
Mujtaba U GlickArgentinaAmy Elsner NEW
Munro U PoquetteSpainAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey B MaletFrance2024-05-11Rousseaux, Michael Esq RENEWAL42Xuxue Feng
1001Aditya F RutaCanada2024-05-08Chapman, Ross E Esq NEW60Onyama Limba
1002Ivar Z TollnerBrazil2024-05-02Rangoni Of Florence NEW68Anna Fali
1003Costa F WaycottIndia2024-05-23Benton, John B Jr UNQUALIFIED2Elwin Sharvill
1004Ricardo X FollerGermany2024-05-23Benton, John B Jr PROPOSAL17Ioni Bowcher
1005Faith I VocelkaBrazil2024-04-29Commercial Press QUALIFIED44Ioni Bowcher
1006Arvin G MaletArgentina2024-05-19King, Christopher A Esq QUALIFIED41Stephen Shaw
1007Johnson W AlbaresCanada2024-05-04Dorl, James J Esq NEW36Onyama Limba
1008Cody I WaycottCanada2024-05-01Rangoni Of Florence QUALIFIED72Xuxue Feng
1009Juan X StockhamFrance2024-05-26Chemel, James L Cpa RENEWAL24Amy Elsner
1010Kaitlin H MorascaIndia2024-05-04King, Christopher A Esq PROPOSAL87Bernardo Dominic
1011Clifford Y WieserFrance2024-04-29Feiner Bros QUALIFIED21Bernardo Dominic
1012Munro B RulapaughIndia2024-05-05King, Christopher A Esq PROPOSAL34Xuxue Feng
1013Salvatore S VenereItaly2024-05-19Feltz Printing Service QUALIFIED33Ioni Bowcher
1014Izzy A VocelkaUnited Kingdom2024-05-27Feltz Printing Service QUALIFIED17Elwin Sharvill
1015Arvin Z IturbideGermany2024-05-03King, Christopher A Esq PROPOSAL5Anna Fali
1016Francesco Z BologniaCanada2024-05-19Morlong Associates PROPOSAL43Anna Fali
1017Chavez E GlickItaly2024-05-14Truhlar And Truhlar Attys NEW99Bernardo Dominic
1018Costa W SaylorsSpain2024-05-19Printing Dimensions QUALIFIED36Ivan Magalhaes
1019Aruna R OldroydCanada2024-05-16Chemel, James L Cpa PROPOSAL67Bernardo Dominic
1020Mayumi N ShinkoGermany2024-05-20Benton, John B Jr NEGOTIATION18Ioni Bowcher
1021Leja H DarakjyItaly2024-04-28Commercial Press QUALIFIED25Asiya Javayant
1022Mayumi E MarrierArgentina2024-05-08Rangoni Of Florence PROPOSAL18Amy Elsner
1023Leon G FerenczAustralia2024-05-19Dorl, James J Esq QUALIFIED39Stephen Shaw
1024Munro N ShinkoBrazil2024-05-15Morlong Associates NEGOTIATION9Xuxue Feng
1025Mujtaba G KuskoRussia2024-05-17Chemel, James L Cpa PROPOSAL6Elwin Sharvill
1026Wickens E FlosiIndia2024-05-04Chapman, Ross E Esq NEGOTIATION12Anna Fali
1027Mujtaba G RulapaughBrazil2024-05-18Printing Dimensions NEW56Anna Fali
1028Silvio J GillianGermany2024-05-25Truhlar And Truhlar Attys RENEWAL58Stephen Shaw
1029Murillo X KuskoCanada2024-05-20Chanay, Jeffrey A Esq NEW60Ivan Magalhaes
1030Isabel P WhobreyArgentina2024-05-05Commercial Press PROPOSAL66Stephen Shaw
1031Julie J BologniaJapan2024-05-10Buckley Miller Wright RENEWAL48Ioni Bowcher
1032Smith G StockhamFrance2024-05-06Chemel, James L Cpa UNQUALIFIED54Bernardo Dominic
1033Darci J AlbaresBrazil2024-05-10Rangoni Of Florence QUALIFIED28Amy Elsner
1034Octavia B GillianIndia2024-05-22Buckley Miller Wright NEGOTIATION43Ivan Magalhaes
1035Jefferson D DoeItaly2024-05-17Truhlar And Truhlar Attys RENEWAL81Asiya Javayant
1036Silvio P GillianCanada2024-05-12Feltz Printing Service NEGOTIATION15Bernardo Dominic
1037Arvin T MacleadItaly2024-05-23Benton, John B Jr NEW82Bernardo Dominic
1038Rodrigues X ButtSpain2024-05-11Rousseaux, Michael Esq NEW75Amy Elsner
1039Ricardo C KolmetzAustralia2024-05-14Truhlar And Truhlar Attys RENEWAL99Asiya Javayant
1040Aika C InouyeCanada2024-05-08Truhlar And Truhlar Attys QUALIFIED21Onyama Limba
1041Costa Y AmigonArgentina2024-05-12Feiner Bros PROPOSAL17Elwin Sharvill
1042Silvio Y WaycottGermany2024-05-01Benton, John B Jr UNQUALIFIED75Bernardo Dominic
1043James W RoysterSpain2024-05-16Morlong Associates NEW97Onyama Limba
1044James D ButtCanada2024-05-01Printing Dimensions NEW96Onyama Limba
1045Jones P FlosiIndia2024-05-19Feltz Printing Service NEW45Amy Elsner
1046Maria V IturbideCanada2024-05-22Chanay, Jeffrey A Esq QUALIFIED21Onyama Limba
1047Maisha Q PerinFrance2024-04-29Buckley Miller Wright RENEWAL52Onyama Limba
1048Antonio A ChuiBrazil2024-05-26Benton, John B Jr NEW57Ioni Bowcher
1049Chavez W MacleadCanada2024-05-23Commercial Press PROPOSAL74Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Leon J MorascaBrazilOnyama Limba NEW
Aruna G FollerFranceAsiya Javayant NEGOTIATION
Maisha D GarufiCanadaXuxue Feng NEW
Maisha J SchemmerItalyOnyama Limba NEW
Claire W BowleyFranceIoni Bowcher RENEWAL
Maisha O DoeGermanyElwin Sharvill QUALIFIED
Julie J GillianRussiaElwin Sharvill RENEWAL
Chavez L VocelkaFranceAnna Fali PROPOSAL
Mujtaba G CampainGermanyIoni Bowcher UNQUALIFIED
Ivar Z MorascaCanadaAmy Elsner UNQUALIFIED
James B CaudySpainAnna Fali RENEWAL
Kaitlin S RoysterGermanyOnyama Limba PROPOSAL
Emily Q InouyeAustraliaStephen Shaw QUALIFIED
Costa K CampainRussiaIoni Bowcher QUALIFIED
Emily Y PerinJapanIoni Bowcher RENEWAL
Munro Z RoysterAustraliaBernardo Dominic NEGOTIATION
Kaitlin A MaletSpainAsiya Javayant RENEWAL
Murillo U InouyeGermanyAsiya Javayant NEGOTIATION
Salvatore O PerinItalyAmy Elsner NEW
Misaki L MacleadJapanXuxue Feng UNQUALIFIED
Smith B IturbideArgentinaOnyama Limba NEW
Faith X FollerGermanyIoni Bowcher PROPOSAL
Deepesh H SaylorsCanadaAnna Fali RENEWAL
Leon M RimFranceStephen Shaw QUALIFIED
Antonio D CaudyItalyAnna Fali QUALIFIED
Isabel G DoeItalyElwin Sharvill NEW
Alejandro D MacleadGermanyElwin Sharvill QUALIFIED
Kaitlin E WaycottItalyElwin Sharvill UNQUALIFIED
Emily R SlusarskiGermanyAmy Elsner PROPOSAL
Leon O MorascaItalyIvan Magalhaes NEGOTIATION
Wickens P RulapaughIndiaBernardo Dominic NEGOTIATION
Adams P SergiFranceAsiya Javayant NEGOTIATION
Jennifer D WhobreyBrazilElwin Sharvill PROPOSAL
Misaki E DilliardGermanyIoni Bowcher NEGOTIATION
Morrow B SlusarskiJapanAmy Elsner UNQUALIFIED
Alejandro Y ChuiArgentinaIoni Bowcher QUALIFIED
Adams C ChuiFranceAsiya Javayant NEGOTIATION
Smith G MaletJapanAsiya Javayant NEGOTIATION
Salvatore K FigeroaFranceIoni Bowcher NEGOTIATION
Salvatore M WieserItalyIoni Bowcher NEW
Cody W KolmetzJapanAmy Elsner NEGOTIATION
Aditya Y BowleyRussiaXuxue Feng NEW
Murillo D FerenczFranceIvan Magalhaes UNQUALIFIED
Jennifer X AlbaresJapanXuxue Feng NEW
Ricardo G GarufiJapanAsiya Javayant PROPOSAL
David K CaldareraGermanyOnyama Limba QUALIFIED
Sinclair H GillianFranceElwin Sharvill UNQUALIFIED
Clifford N CaudyGermanyAsiya Javayant UNQUALIFIED
Claire Y PerinJapanAmy Elsner UNQUALIFIED
Murillo F CaudyGermanyAmy Elsner QUALIFIED
Frozen Columns
Name
Alejandro I Tollner
Mujtaba E Stockham
Kadeem F Oldroyd
Wickens Z Albares
Clifford Q Nicka
Johnson Q Nestle
Adams L Darakjy
Darci C Foller
Leon W Whobrey
Aruna P Shinko
Costa D Whobrey
Leja C Venere
Jeanfrancois T Perin
Julie I Kolmetz
Morrow P Flosi
Jennifer G Perin
Greenwood O Royster
Arvin N Rulapaugh
Francesco N Rulapaugh
Mujtaba S Saylors
Rodrigues J Garufi
Francesco H Bowley
Aika T Waycott
Leja S Maclead
Misaki E Bowley
Ashley M Vocelka
Kaitlin G Sergi
Ivar S Kolmetz
Mayumi T Perin
Sinclair E Bolognia
Morrow U Royster
Isabel M Sergi
Chavez V Maclead
Murillo W Bolognia
Maria K Malet
Mujtaba T Campain
Wickens W Stenseth
Jeanfrancois G Poquette
Arvin L Gaucho
Juan S Bowley
Julie C Ostrosky
Adams A Marrier
James O Rulapaugh
Kaitlin Q Stockham
Mayumi H Whobrey
Jefferson Y Marrier
Faith F Shinko
Juan E Dilliard
Darci F Foller
Misaki C Sergi
IdCountryDate
1000Spain2024-05-03
1001India2024-05-26
1002Italy2024-05-19
1003Argentina2024-05-09
1004Brazil2024-05-23
1005Brazil2024-05-04
1006United Kingdom2024-05-09
1007France2024-05-06
1008Italy2024-05-13
1009Australia2024-05-02
1010Japan2024-05-20
1011Italy2024-05-25
1012France2024-05-02
1013Japan2024-05-27
1014Australia2024-05-21
1015Italy2024-05-16
1016Japan2024-05-15
1017Argentina2024-04-28
1018Australia2024-05-11
1019France2024-05-27
1020Spain2024-05-19
1021Russia2024-05-01
1022Italy2024-04-28
1023Italy2024-05-23
1024Spain2024-05-22
1025France2024-05-01
1026Japan2024-05-22
1027India2024-05-08
1028Argentina2024-05-10
1029Germany2024-05-24
1030Italy2024-05-01
1031India2024-05-03
1032Australia2024-05-09
1033Argentina2024-05-27
1034Argentina2024-05-25
1035India2024-04-28
1036Australia2024-04-29
1037Russia2024-05-22
1038Russia2024-05-02
1039Argentina2024-05-26
1040Australia2024-05-18
1041Brazil2024-05-03
1042Spain2024-05-03
1043India2024-05-06
1044Japan2024-05-23
1045United Kingdom2024-05-24
1046Canada2024-04-29
1047India2024-05-23
1048Italy2024-04-28
1049France2024-04-30

On-Demand Data

NameIdCountryDate
Smith J Sergi1000Australia2024-05-09
Munro Q Ruta1001Argentina2024-05-17
Misaki R Perin1002Russia2024-05-11
Greenwood S Rulapaugh1003Australia2024-05-24
Aruna K Caldarera1004United Kingdom2024-05-04
Wickens X Waycott1005Argentina2024-05-19
Costa K Amigon1006United Kingdom2024-05-26
Morrow U Nestle1007Argentina2024-05-20
Maisha U Foller1008Argentina2024-05-05
Jefferson I Butt1009United Kingdom2024-05-27
Wickens E Glick1010Russia2024-05-19
Adams K Malet1011Argentina2024-05-02
Silvio D Stockham1012Italy2024-05-02
Salvatore J Malet1013Italy2024-05-08
Nicolas Q Malet1014Germany2024-05-07
Rodrigues P Slusarski1015Canada2024-05-16
Mayumi H Briddick1016India2024-05-11
Jennifer F Figeroa1017Argentina2024-05-26
Julie D Albares1018India2024-05-11
Salvatore Z Shinko1019Germany2024-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez O StensethCanadaAnna Fali QUALIFIED
Jeanfrancois V VocelkaSpainBernardo Dominic QUALIFIED
Greenwood X IturbideAustraliaBernardo Dominic RENEWAL
Silvio B KolmetzArgentinaAnna Fali RENEWAL
Ricardo O SlusarskiIndiaAmy Elsner NEGOTIATION
Antonio E FlosiGermanyBernardo Dominic NEGOTIATION
Claire L DoeFranceStephen Shaw RENEWAL
Leon E PoquetteBrazilOnyama Limba PROPOSAL
Kadeem E DarakjyAustraliaIvan Magalhaes NEW
Claire I DoeCanadaBernardo Dominic PROPOSAL
Julie P PerinCanadaBernardo Dominic QUALIFIED
Aditya N BologniaFranceXuxue Feng NEW
Sinclair Q VocelkaItalyAnna Fali PROPOSAL
Munro L KolmetzItalyXuxue Feng PROPOSAL
Ashley W ChuiAustraliaIvan Magalhaes RENEWAL
Izzy D GauchoGermanyElwin Sharvill PROPOSAL
Jeanfrancois H BowleyBrazilStephen Shaw RENEWAL
Johnson O ShinkoItalyIvan Magalhaes NEGOTIATION
Cody K CaldareraFranceAsiya Javayant PROPOSAL
Juan C WhobreyUnited KingdomAmy Elsner RENEWAL
Jeanfrancois F VenereRussiaOnyama Limba QUALIFIED
Deepesh M CampainArgentinaIoni Bowcher UNQUALIFIED
Ashley N VenereItalyAsiya Javayant RENEWAL
Aika R StockhamJapanAsiya Javayant NEGOTIATION
Ashley R BologniaSpainAmy Elsner PROPOSAL
Jennifer X SlusarskiRussiaStephen Shaw NEGOTIATION
Misaki X CampainRussiaAnna Fali RENEWAL
Cody X BologniaCanadaXuxue Feng QUALIFIED
Aika C AlbaresAustraliaBernardo Dominic QUALIFIED
Smith H DoeUnited KingdomIvan Magalhaes RENEWAL
Antonio L MaletGermanyIvan Magalhaes RENEWAL
Silvio R ButtFranceAmy Elsner QUALIFIED
David E KuskoIndiaStephen Shaw PROPOSAL
Morrow I GillianGermanyIvan Magalhaes QUALIFIED
Leon U OldroydRussiaIoni Bowcher UNQUALIFIED
Stacey U AlbaresAustraliaBernardo Dominic QUALIFIED
Faith D MaletUnited KingdomOnyama Limba PROPOSAL
Francesco D RimBrazilAnna Fali RENEWAL
Antonio S GillianFranceIoni Bowcher NEW
Cody Q WhobreyIndiaElwin Sharvill 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>