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
Clifford J MaletFranceBernardo Dominic RENEWAL
Silvio P GauchoGermanyElwin Sharvill UNQUALIFIED
Jennifer O StensethIndiaAsiya Javayant PROPOSAL
Darci E OldroydSpainAsiya Javayant NEGOTIATION
Arvin H MaletAustraliaAsiya Javayant RENEWAL
Emily D MorascaFranceIoni Bowcher NEGOTIATION
Rodrigues G SergiAustraliaIvan Magalhaes UNQUALIFIED
Costa F AlbaresItalyXuxue Feng QUALIFIED
Darci U RimSpainXuxue Feng QUALIFIED
Aditya U VocelkaArgentinaAmy Elsner NEGOTIATION
Greenwood J MacleadItalyIvan Magalhaes UNQUALIFIED
Greenwood V AlbaresItalyIoni Bowcher PROPOSAL
Ivar E WhobreyUnited KingdomIvan Magalhaes UNQUALIFIED
Cody S RoysterFranceAsiya Javayant PROPOSAL
Darci A SergiJapanStephen Shaw QUALIFIED
Murillo X FlosiGermanyIoni Bowcher QUALIFIED
Ricardo G TollnerBrazilIvan Magalhaes RENEWAL
Emily R BologniaJapanOnyama Limba NEW
Clifford P KuskoArgentinaBernardo Dominic RENEWAL
Jennifer O BriddickArgentinaIoni Bowcher RENEWAL
Morrow K FlosiFranceBernardo Dominic QUALIFIED
Rodrigues K ShinkoGermanyAsiya Javayant QUALIFIED
Antonio S WhobreyArgentinaAsiya Javayant UNQUALIFIED
Deepesh U WaycottBrazilIvan Magalhaes RENEWAL
Octavia I RulapaughIndiaStephen Shaw PROPOSAL
Ashley P StockhamRussiaStephen Shaw QUALIFIED
Arvin B GarufiItalyBernardo Dominic QUALIFIED
Francesco A ShinkoIndiaOnyama Limba NEW
Johnson O PaprockiBrazilAmy Elsner NEW
Nicolas X DilliardSpainAnna Fali PROPOSAL
Maria X CaudyFranceXuxue Feng UNQUALIFIED
Tony M StensethAustraliaElwin Sharvill RENEWAL
Julie E ButtSpainXuxue Feng RENEWAL
Darci N FollerCanadaBernardo Dominic NEGOTIATION
Misaki Y ButtGermanyElwin Sharvill RENEWAL
Ashley T GauchoIndiaAsiya Javayant QUALIFIED
Sinclair N GlickJapanAnna Fali UNQUALIFIED
Silvio X StensethAustraliaAmy Elsner RENEWAL
Leja G VenereArgentinaXuxue Feng QUALIFIED
Ricardo S KolmetzSpainElwin Sharvill RENEWAL
Clifford L GlickBrazilOnyama Limba UNQUALIFIED
Maria N IturbideBrazilElwin Sharvill UNQUALIFIED
Jeanfrancois M SergiItalyXuxue Feng PROPOSAL
Maisha U NickaFranceIoni Bowcher NEGOTIATION
Johnson I SergiFranceAnna Fali NEGOTIATION
Jefferson R SaylorsSpainAsiya Javayant NEGOTIATION
Isabel Z NickaSpainAnna Fali PROPOSAL
Antonio S KolmetzRussiaStephen Shaw PROPOSAL
Costa B WieserCanadaIoni Bowcher NEGOTIATION
Deepesh L OstroskyJapanBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa S SergiItalyIoni Bowcher QUALIFIED
Julie A IturbideSpainElwin Sharvill RENEWAL
Jefferson C MaletFranceXuxue Feng UNQUALIFIED
Juan M CampainArgentinaIoni Bowcher NEW
Johnson T SchemmerJapanAmy Elsner UNQUALIFIED
Octavia W BriddickItalyElwin Sharvill PROPOSAL
Maria T MacleadFranceBernardo Dominic UNQUALIFIED
James S SchemmerArgentinaAmy Elsner NEGOTIATION
Ashley R VocelkaAustraliaOnyama Limba NEW
Kaitlin U AlbaresUnited KingdomIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey E InouyeCanada2024-05-24Rangoni Of Florence PROPOSAL37Asiya Javayant
1001Nicolas E KolmetzSpain2024-05-31Feltz Printing Service RENEWAL42Xuxue Feng
1002Aruna H OldroydItaly2024-06-07Printing Dimensions RENEWAL9Ioni Bowcher
1003Aruna N WhobreyJapan2024-06-13Rousseaux, Michael Esq RENEWAL26Bernardo Dominic
1004Nicolas S NestleBrazil2024-06-12Truhlar And Truhlar Attys RENEWAL31Stephen Shaw
1005Morrow M AlbaresItaly2024-05-26Feiner Bros UNQUALIFIED97Asiya Javayant
1006Deepesh D RoysterFrance2024-05-31Feltz Printing Service RENEWAL58Ioni Bowcher
1007Kadeem C RulapaughBrazil2024-05-25Truhlar And Truhlar Attys NEW80Xuxue Feng
1008Antonio I SergiUnited Kingdom2024-06-10Commercial Press RENEWAL50Anna Fali
1009Aika J MacleadRussia2024-06-17Rangoni Of Florence NEW76Ioni Bowcher
1010Aika P NickaFrance2024-06-04Benton, John B Jr QUALIFIED1Asiya Javayant
1011Alejandro Q GlickFrance2024-06-09Rangoni Of Florence UNQUALIFIED73Bernardo Dominic
1012Adams D RimFrance2024-05-29Buckley Miller Wright PROPOSAL66Onyama Limba
1013Maria O IturbideItaly2024-06-18Benton, John B Jr PROPOSAL95Amy Elsner
1014Ricardo D BologniaCanada2024-06-06Chapman, Ross E Esq NEW4Asiya Javayant
1015Misaki J KuskoArgentina2024-06-08Feltz Printing Service PROPOSAL37Anna Fali
1016Arvin V FlosiAustralia2024-06-06Commercial Press RENEWAL53Xuxue Feng
1017Morrow K GauchoArgentina2024-05-23Buckley Miller Wright QUALIFIED33Anna Fali
1018James B GauchoFrance2024-06-12Truhlar And Truhlar Attys RENEWAL73Xuxue Feng
1019Julie D MacleadSpain2024-06-01Feiner Bros PROPOSAL25Stephen Shaw
1020Maisha V BowleyUnited Kingdom2024-06-09Feiner Bros UNQUALIFIED30Anna Fali
1021Murillo C FollerBrazil2024-06-09Benton, John B Jr NEGOTIATION97Stephen Shaw
1022Jeanfrancois K PoquetteRussia2024-06-04Buckley Miller Wright QUALIFIED63Xuxue Feng
1023Aruna P AmigonRussia2024-06-17Buckley Miller Wright UNQUALIFIED36Anna Fali
1024Misaki D MacleadGermany2024-06-21Feltz Printing Service QUALIFIED51Stephen Shaw
1025Nicolas R VenereAustralia2024-05-26Truhlar And Truhlar Attys PROPOSAL49Asiya Javayant
1026Mayumi D DoeGermany2024-06-03Morlong Associates QUALIFIED22Asiya Javayant
1027Octavia K MorascaGermany2024-06-09Commercial Press NEW1Xuxue Feng
1028Smith Q SaylorsSpain2024-05-27Feiner Bros NEGOTIATION10Ivan Magalhaes
1029Claire P CaldareraAustralia2024-05-25Printing Dimensions QUALIFIED49Asiya Javayant
1030Murillo J NickaAustralia2024-06-12Commercial Press RENEWAL96Ioni Bowcher
1031Cody V SlusarskiUnited Kingdom2024-06-21Morlong Associates NEGOTIATION56Xuxue Feng
1032Juan A MarrierCanada2024-06-10Buckley Miller Wright UNQUALIFIED42Onyama Limba
1033Leja G DilliardBrazil2024-06-10Rangoni Of Florence QUALIFIED79Ioni Bowcher
1034Greenwood X CaldareraItaly2024-06-10Benton, John B Jr UNQUALIFIED59Xuxue Feng
1035Salvatore Y MacleadItaly2024-05-27Printing Dimensions NEGOTIATION1Stephen Shaw
1036Johnson H GillianGermany2024-06-09Chanay, Jeffrey A Esq NEGOTIATION49Xuxue Feng
1037James F PerinRussia2024-06-20Buckley Miller Wright QUALIFIED60Ioni Bowcher
1038Ivar M DilliardCanada2024-06-20Rangoni Of Florence UNQUALIFIED84Elwin Sharvill
1039Nicolas Q InouyeGermany2024-05-28Morlong Associates QUALIFIED58Stephen Shaw
1040Johnson Y WaycottGermany2024-05-29Feiner Bros NEW33Onyama Limba
1041Antonio W CampainArgentina2024-06-08Benton, John B Jr QUALIFIED28Ioni Bowcher
1042Munro U PoquetteFrance2024-06-18Chemel, James L Cpa QUALIFIED54Stephen Shaw
1043Antonio D ButtFrance2024-06-07Rousseaux, Michael Esq RENEWAL15Bernardo Dominic
1044James Z RulapaughAustralia2024-05-29Rousseaux, Michael Esq PROPOSAL78Amy Elsner
1045Stacey Z WieserRussia2024-06-10Chemel, James L Cpa PROPOSAL88Ivan Magalhaes
1046Jeanfrancois B MarrierItaly2024-06-13Feiner Bros NEW71Anna Fali
1047Ashley D DilliardArgentina2024-06-06Morlong Associates RENEWAL79Anna Fali
1048Morrow D AlbaresCanada2024-06-06King, Christopher A Esq NEW86Xuxue Feng
1049Kadeem T VenereBrazil2024-06-06Truhlar And Truhlar Attys PROPOSAL60Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Costa Q KolmetzSpainStephen Shaw NEW
Claire L SergiRussiaIvan Magalhaes NEW
Maria M DoeJapanElwin Sharvill RENEWAL
Isabel G MacleadJapanStephen Shaw NEW
Nicolas G BriddickGermanyStephen Shaw NEW
Darci H DarakjyArgentinaElwin Sharvill NEW
Claire X FlosiJapanIoni Bowcher UNQUALIFIED
Jones J SaylorsArgentinaAmy Elsner RENEWAL
Octavia C RoysterIndiaStephen Shaw UNQUALIFIED
Johnson W SaylorsFranceIoni Bowcher NEGOTIATION
Leon H AlbaresGermanyStephen Shaw PROPOSAL
Julie X RulapaughFranceIoni Bowcher UNQUALIFIED
Alejandro D FigeroaUnited KingdomXuxue Feng QUALIFIED
Julie V RoysterSpainXuxue Feng NEGOTIATION
James S AmigonUnited KingdomIvan Magalhaes RENEWAL
Chavez U MaletAustraliaAmy Elsner NEGOTIATION
Julie I SergiItalyXuxue Feng PROPOSAL
Ashley A ShinkoJapanAmy Elsner RENEWAL
Alejandro H StockhamSpainXuxue Feng NEGOTIATION
Tony O GillianItalyAnna Fali QUALIFIED
David X VocelkaFranceOnyama Limba NEW
Ricardo T RimCanadaAsiya Javayant NEGOTIATION
Octavia Z DilliardFranceXuxue Feng NEGOTIATION
Munro N FlosiIndiaElwin Sharvill NEGOTIATION
Adams H GarufiRussiaIvan Magalhaes NEW
Kadeem N NickaSpainOnyama Limba UNQUALIFIED
Alejandro X BowleyCanadaAmy Elsner PROPOSAL
Kaitlin V VenereJapanIvan Magalhaes UNQUALIFIED
Sinclair G MarrierItalyAmy Elsner UNQUALIFIED
Stacey S PerinCanadaIoni Bowcher QUALIFIED
Octavia S OldroydUnited KingdomAmy Elsner NEW
Aditya W InouyeJapanIoni Bowcher QUALIFIED
Cody R AlbaresAustraliaXuxue Feng RENEWAL
Ashley C KuskoRussiaAsiya Javayant PROPOSAL
Ricardo Y AlbaresUnited KingdomXuxue Feng PROPOSAL
Morrow N WieserFranceXuxue Feng PROPOSAL
Smith P GillianJapanBernardo Dominic PROPOSAL
Jefferson U FerenczCanadaAsiya Javayant UNQUALIFIED
Juan I ChuiSpainStephen Shaw QUALIFIED
Isabel U AmigonUnited KingdomAsiya Javayant NEW
Costa B OstroskyItalyXuxue Feng NEGOTIATION
Juan W SergiArgentinaStephen Shaw UNQUALIFIED
Sinclair J GauchoArgentinaIoni Bowcher UNQUALIFIED
Maria W CampainArgentinaIoni Bowcher UNQUALIFIED
Smith O ButtArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues A GarufiCanadaOnyama Limba PROPOSAL
Clifford Z ChuiFranceAnna Fali UNQUALIFIED
Kaitlin H GarufiRussiaIvan Magalhaes NEGOTIATION
Emily J GillianArgentinaAnna Fali UNQUALIFIED
Faith K SlusarskiAustraliaElwin Sharvill RENEWAL
Frozen Columns
Name
Francesco D Caldarera
Julie K Slusarski
Misaki G Darakjy
Stacey H Bolognia
Emily M Gillian
David A Dilliard
Maria R Garufi
Johnson W Caldarera
Misaki W Ferencz
Morrow P Maclead
Francesco B Stenseth
Silvio Z Caldarera
Darci D Bolognia
Misaki A Campain
Kaitlin Q Ruta
Ashley H Chui
Leon T Venere
Isabel Q Nestle
Wickens K Rim
Maisha M Poquette
Munro U Albares
Wickens U Venere
Aika S Doe
Maria I Caudy
Rodrigues D Amigon
Ashley C Flosi
Rodrigues S Doe
Sinclair C Stockham
James W Kusko
Darci R Nicka
Ricardo N Caudy
Rodrigues R Ruta
Jennifer L Venere
Munro A Shinko
Emily P Darakjy
Maria F Oldroyd
Wickens J Iturbide
Izzy B Caudy
Sinclair J Saylors
Francesco R Tollner
Cody K Saylors
Rodrigues C Ostrosky
Isabel F Iturbide
Adams G Dilliard
Greenwood X Tollner
Maria P Glick
Clifford D Kusko
Costa O Briddick
Octavia O Ferencz
Morrow Y Sergi
IdCountryDate
1000Germany2024-06-17
1001Italy2024-06-12
1002Italy2024-06-14
1003Brazil2024-06-10
1004Argentina2024-06-02
1005Japan2024-05-27
1006Spain2024-06-04
1007Argentina2024-06-10
1008Japan2024-05-23
1009Germany2024-06-15
1010Argentina2024-06-17
1011France2024-05-25
1012Germany2024-06-16
1013Brazil2024-06-17
1014Japan2024-06-05
1015Brazil2024-06-09
1016United Kingdom2024-05-26
1017Canada2024-06-15
1018Australia2024-06-14
1019France2024-06-07
1020Brazil2024-06-06
1021Japan2024-05-28
1022Japan2024-05-25
1023France2024-06-21
1024India2024-06-06
1025India2024-05-26
1026Canada2024-05-23
1027Australia2024-06-16
1028Australia2024-06-03
1029Italy2024-06-14
1030Italy2024-06-06
1031India2024-06-03
1032Germany2024-06-02
1033Australia2024-06-15
1034Australia2024-06-17
1035Russia2024-06-16
1036Australia2024-05-23
1037Brazil2024-06-13
1038United Kingdom2024-06-15
1039Japan2024-06-18
1040India2024-06-14
1041United Kingdom2024-06-14
1042Brazil2024-06-05
1043Russia2024-05-29
1044Australia2024-06-08
1045Brazil2024-05-25
1046Japan2024-06-02
1047Canada2024-06-02
1048Australia2024-06-21
1049Germany2024-06-11

On-Demand Data

NameIdCountryDate
Costa T Amigon1000Brazil2024-06-19
Morrow N Rulapaugh1001Australia2024-06-11
Leja O Campain1002India2024-06-19
Izzy C Inouye1003United Kingdom2024-06-13
Johnson K Perin1004Germany2024-05-24
James M Stenseth1005Germany2024-06-09
Julie W Vocelka1006Germany2024-05-25
Salvatore M Iturbide1007United Kingdom2024-05-26
Jennifer V Royster1008Spain2024-06-01
Nicolas F Campain1009Japan2024-06-07
Smith F Ruta1010India2024-06-11
Greenwood T Waycott1011Brazil2024-06-05
Leon V Ruta1012Japan2024-06-16
Jeanfrancois G Albares1013Russia2024-05-24
Munro K Stockham1014Argentina2024-06-09
Isabel H Venere1015India2024-05-25
Octavia Z Kolmetz1016Japan2024-06-16
Maisha Y Slusarski1017Germany2024-05-29
Nicolas U Marrier1018United Kingdom2024-06-09
Leon E Figeroa1019Canada2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams Z GarufiCanadaIvan Magalhaes NEGOTIATION
Silvio X DoeFranceXuxue Feng RENEWAL
Darci F IturbideJapanOnyama Limba QUALIFIED
Aruna G BriddickFranceAmy Elsner NEGOTIATION
Leon T RoysterGermanyBernardo Dominic RENEWAL
Izzy Q GlickIndiaAnna Fali NEGOTIATION
Kaitlin K BriddickCanadaStephen Shaw NEW
Ashley P RulapaughGermanyOnyama Limba QUALIFIED
Julie P CaudyGermanyOnyama Limba QUALIFIED
Mujtaba I ButtJapanIvan Magalhaes NEGOTIATION
Rodrigues Z GillianBrazilIoni Bowcher QUALIFIED
Arvin L MaletAustraliaIvan Magalhaes NEW
Maisha U DoeUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin K RoysterCanadaIoni Bowcher UNQUALIFIED
Smith V DoeRussiaBernardo Dominic QUALIFIED
Leja P OstroskyIndiaBernardo Dominic NEGOTIATION
Johnson N CaldareraGermanyStephen Shaw QUALIFIED
Leja F ButtBrazilIvan Magalhaes NEGOTIATION
Sinclair M DilliardSpainIvan Magalhaes QUALIFIED
Kaitlin L ButtRussiaIvan Magalhaes PROPOSAL
Maisha B NickaAustraliaElwin Sharvill PROPOSAL
Ivar N GlickSpainIoni Bowcher PROPOSAL
Ivar G ShinkoIndiaOnyama Limba NEGOTIATION
Costa U CampainFranceElwin Sharvill QUALIFIED
Adams K MacleadUnited KingdomBernardo Dominic RENEWAL
Murillo Z NestleRussiaXuxue Feng NEGOTIATION
Jones N IturbideAustraliaXuxue Feng NEGOTIATION
Wickens S MaletBrazilStephen Shaw QUALIFIED
Jennifer M OstroskyBrazilIvan Magalhaes UNQUALIFIED
Adams J OldroydAustraliaOnyama Limba RENEWAL
Adams V GillianUnited KingdomAmy Elsner UNQUALIFIED
Munro I KolmetzIndiaOnyama Limba NEW
Chavez W SergiGermanyIoni Bowcher QUALIFIED
Aruna P StockhamRussiaAmy Elsner UNQUALIFIED
Faith M BriddickIndiaBernardo Dominic UNQUALIFIED
Leon G OldroydFranceAmy Elsner NEW
Aika G ChuiAustraliaStephen Shaw NEGOTIATION
Chavez K OstroskyItalyElwin Sharvill RENEWAL
Greenwood R AlbaresBrazilOnyama Limba RENEWAL
Johnson B ShinkoCanadaXuxue Feng 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>