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 G MacleadSpainBernardo Dominic QUALIFIED
Johnson N DarakjyJapanAsiya Javayant QUALIFIED
Isabel C WaycottCanadaAsiya Javayant NEGOTIATION
Jones D GauchoSpainElwin Sharvill PROPOSAL
Aditya G GauchoRussiaAmy Elsner PROPOSAL
Misaki P DarakjyItalyXuxue Feng NEGOTIATION
Rodrigues R RutaUnited KingdomIoni Bowcher UNQUALIFIED
Silvio Z MaletUnited KingdomAsiya Javayant UNQUALIFIED
Silvio C FlosiJapanElwin Sharvill RENEWAL
Cody H BologniaJapanStephen Shaw RENEWAL
Kadeem G SaylorsItalyOnyama Limba RENEWAL
Jefferson U BriddickFranceIoni Bowcher UNQUALIFIED
Kaitlin Q CampainUnited KingdomElwin Sharvill UNQUALIFIED
Emily I MaletUnited KingdomAmy Elsner RENEWAL
Jones J MarrierFranceXuxue Feng PROPOSAL
Julie L KolmetzAustraliaIoni Bowcher NEW
Chavez K RulapaughAustraliaIoni Bowcher QUALIFIED
Morrow E OldroydBrazilIoni Bowcher RENEWAL
Ivar D CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Sinclair E AlbaresArgentinaAmy Elsner PROPOSAL
Wickens Y RulapaughBrazilIoni Bowcher NEGOTIATION
Munro A SaylorsRussiaAnna Fali RENEWAL
Mayumi F DilliardItalyStephen Shaw NEW
Clifford B RutaFranceElwin Sharvill PROPOSAL
Kaitlin E DarakjyRussiaAnna Fali RENEWAL
Maisha O FerenczGermanyElwin Sharvill UNQUALIFIED
Leon Z KuskoFranceXuxue Feng QUALIFIED
Tony Q GillianGermanyElwin Sharvill QUALIFIED
Aditya H StockhamAustraliaAnna Fali QUALIFIED
Costa O FerenczBrazilAmy Elsner RENEWAL
Octavia Q FlosiSpainBernardo Dominic NEW
Wickens T MaletCanadaAsiya Javayant PROPOSAL
Sinclair V SchemmerIndiaXuxue Feng PROPOSAL
David F RoysterItalyStephen Shaw NEW
James P SaylorsBrazilXuxue Feng UNQUALIFIED
Kaitlin M DilliardJapanIvan Magalhaes QUALIFIED
Izzy V PoquetteBrazilXuxue Feng PROPOSAL
Wickens R ChuiBrazilOnyama Limba NEW
Stacey R SaylorsRussiaAmy Elsner PROPOSAL
Mayumi P OldroydArgentinaAnna Fali UNQUALIFIED
Francesco L StensethGermanyIvan Magalhaes UNQUALIFIED
Stacey E GlickAustraliaAnna Fali NEGOTIATION
Tony K MaletArgentinaXuxue Feng NEW
James J BriddickIndiaStephen Shaw NEW
Faith I NestleJapanXuxue Feng QUALIFIED
Ricardo Z AmigonArgentinaElwin Sharvill RENEWAL
Aruna H FlosiSpainIoni Bowcher QUALIFIED
Silvio T WieserCanadaBernardo Dominic NEGOTIATION
Costa F GillianFranceAnna Fali PROPOSAL
David X RutaRussiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki N NickaItalyStephen Shaw NEW
Jennifer W OldroydUnited KingdomAsiya Javayant PROPOSAL
Mujtaba U MarrierUnited KingdomIvan Magalhaes QUALIFIED
Octavia A GillianIndiaOnyama Limba RENEWAL
Darci T SaylorsBrazilOnyama Limba UNQUALIFIED
Munro J IturbideItalyIvan Magalhaes PROPOSAL
Nicolas W MaletJapanAnna Fali RENEWAL
Tony F MarrierArgentinaXuxue Feng UNQUALIFIED
Deepesh Y FerenczIndiaAsiya Javayant RENEWAL
Julie Q NickaBrazilStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens D MarrierRussia2024-05-28Printing Dimensions QUALIFIED98Onyama Limba
1001Ricardo H FollerBrazil2024-05-26Morlong Associates NEGOTIATION83Ivan Magalhaes
1002Costa Q KolmetzIndia2024-05-29Truhlar And Truhlar Attys PROPOSAL27Onyama Limba
1003Arvin B SergiUnited Kingdom2024-06-04Commercial Press UNQUALIFIED68Xuxue Feng
1004Aditya U KuskoBrazil2024-06-21Rangoni Of Florence PROPOSAL56Amy Elsner
1005Mayumi G GillianAustralia2024-06-06Rousseaux, Michael Esq PROPOSAL79Bernardo Dominic
1006Munro J RutaCanada2024-06-15Chemel, James L Cpa PROPOSAL41Ivan Magalhaes
1007Kaitlin E ShinkoIndia2024-06-07Feiner Bros PROPOSAL21Xuxue Feng
1008Faith Z KolmetzBrazil2024-05-26Chemel, James L Cpa QUALIFIED77Onyama Limba
1009Munro D TollnerSpain2024-06-17Chanay, Jeffrey A Esq NEGOTIATION98Bernardo Dominic
1010Jefferson G RutaBrazil2024-06-19Dorl, James J Esq RENEWAL67Bernardo Dominic
1011Alejandro Y ChuiJapan2024-06-13Rangoni Of Florence PROPOSAL63Ioni Bowcher
1012Jeanfrancois B SaylorsUnited Kingdom2024-05-30Chapman, Ross E Esq QUALIFIED96Elwin Sharvill
1013Kaitlin I MaletGermany2024-06-17King, Christopher A Esq UNQUALIFIED59Elwin Sharvill
1014Kadeem Z MaletUnited Kingdom2024-05-30Truhlar And Truhlar Attys QUALIFIED74Elwin Sharvill
1015Munro G NickaFrance2024-06-18Rousseaux, Michael Esq UNQUALIFIED59Asiya Javayant
1016Tony Q NickaGermany2024-06-07Feltz Printing Service NEGOTIATION94Ioni Bowcher
1017Emily Z FlosiRussia2024-06-11Buckley Miller Wright NEGOTIATION90Asiya Javayant
1018Aruna K WaycottSpain2024-06-13Dorl, James J Esq RENEWAL15Ioni Bowcher
1019Costa Y PoquetteFrance2024-06-13Commercial Press QUALIFIED9Stephen Shaw
1020Greenwood E NickaBrazil2024-05-28Morlong Associates PROPOSAL29Xuxue Feng
1021Maria S SlusarskiGermany2024-06-09King, Christopher A Esq NEW8Anna Fali
1022Claire A RimIndia2024-06-11Chanay, Jeffrey A Esq NEW59Ioni Bowcher
1023Misaki S FollerCanada2024-05-29Chanay, Jeffrey A Esq PROPOSAL27Elwin Sharvill
1024Chavez B BowleyArgentina2024-05-28Feltz Printing Service QUALIFIED24Amy Elsner
1025Murillo Q VocelkaItaly2024-05-25Rangoni Of Florence NEW35Amy Elsner
1026Kadeem V ButtRussia2024-06-02Truhlar And Truhlar Attys RENEWAL72Asiya Javayant
1027Tony V RutaFrance2024-06-23Printing Dimensions PROPOSAL75Ioni Bowcher
1028Mujtaba B WieserRussia2024-06-22Buckley Miller Wright NEW39Onyama Limba
1029Ashley H BriddickRussia2024-06-01Dorl, James J Esq NEGOTIATION8Ivan Magalhaes
1030Adams C PaprockiCanada2024-05-30King, Christopher A Esq NEW89Ioni Bowcher
1031Claire Z SchemmerIndia2024-06-02King, Christopher A Esq NEW68Ioni Bowcher
1032Jones D GauchoItaly2024-05-30Dorl, James J Esq NEGOTIATION0Stephen Shaw
1033Cody Y SlusarskiArgentina2024-06-20Rousseaux, Michael Esq QUALIFIED89Stephen Shaw
1034Clifford Q WieserRussia2024-06-07Buckley Miller Wright QUALIFIED61Anna Fali
1035Maria H ShinkoBrazil2024-06-10Benton, John B Jr RENEWAL47Ivan Magalhaes
1036Jeanfrancois P WieserItaly2024-05-29Chapman, Ross E Esq NEGOTIATION11Ioni Bowcher
1037Faith H RimAustralia2024-06-08Rangoni Of Florence UNQUALIFIED58Elwin Sharvill
1038Maria M AlbaresAustralia2024-06-12Printing Dimensions NEW18Ioni Bowcher
1039Emily M KolmetzGermany2024-06-06Buckley Miller Wright NEW46Elwin Sharvill
1040Deepesh X FollerIndia2024-05-30Dorl, James J Esq PROPOSAL82Amy Elsner
1041Stacey G BriddickIndia2024-06-10Rangoni Of Florence QUALIFIED13Amy Elsner
1042Ricardo G NickaBrazil2024-05-28Feiner Bros NEGOTIATION58Xuxue Feng
1043Deepesh T NestleSpain2024-06-06Commercial Press RENEWAL55Anna Fali
1044Mayumi H GarufiJapan2024-06-09Morlong Associates QUALIFIED91Onyama Limba
1045Silvio Y KolmetzUnited Kingdom2024-06-22Commercial Press UNQUALIFIED25Amy Elsner
1046Johnson W PaprockiGermany2024-06-13Buckley Miller Wright QUALIFIED54Anna Fali
1047Misaki D FollerAustralia2024-06-06Buckley Miller Wright QUALIFIED10Anna Fali
1048Stacey Z GlickItaly2024-06-11Truhlar And Truhlar Attys PROPOSAL97Ioni Bowcher
1049Leja A FigeroaFrance2024-06-01Morlong Associates RENEWAL45Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin S NickaRussiaIvan Magalhaes RENEWAL
David L IturbideCanadaAnna Fali RENEWAL
Darci W CaldareraAustraliaElwin Sharvill NEGOTIATION
Claire F MorascaSpainAnna Fali PROPOSAL
Juan C FlosiRussiaAsiya Javayant QUALIFIED
James Y CaldareraItalyElwin Sharvill UNQUALIFIED
Jones J DilliardCanadaIvan Magalhaes NEGOTIATION
Greenwood V MarrierRussiaAsiya Javayant RENEWAL
Aruna S VocelkaJapanIoni Bowcher NEW
Chavez G WaycottArgentinaIoni Bowcher PROPOSAL
Kadeem W VenereAustraliaStephen Shaw PROPOSAL
Isabel Z GlickJapanBernardo Dominic QUALIFIED
Sinclair B FollerUnited KingdomIvan Magalhaes QUALIFIED
Alejandro R SaylorsBrazilIoni Bowcher QUALIFIED
Kadeem J MorascaCanadaIvan Magalhaes NEGOTIATION
Francesco Z MaletGermanyAmy Elsner NEGOTIATION
Greenwood X RimAustraliaAsiya Javayant RENEWAL
Clifford Z SlusarskiAustraliaBernardo Dominic QUALIFIED
Johnson G WieserBrazilAmy Elsner RENEWAL
Claire M FlosiItalyIvan Magalhaes UNQUALIFIED
Aika H TollnerRussiaAsiya Javayant PROPOSAL
Silvio O WhobreyUnited KingdomIoni Bowcher QUALIFIED
Johnson B PaprockiRussiaBernardo Dominic QUALIFIED
Francesco M FigeroaIndiaOnyama Limba PROPOSAL
Maisha L NickaBrazilXuxue Feng QUALIFIED
Silvio X RimGermanyAsiya Javayant PROPOSAL
Izzy B MarrierArgentinaOnyama Limba QUALIFIED
Mujtaba C IturbideArgentinaAsiya Javayant PROPOSAL
Kadeem N VenereBrazilAsiya Javayant QUALIFIED
Jefferson Y SergiJapanIoni Bowcher NEW
Aika L GarufiGermanyBernardo Dominic QUALIFIED
Wickens B RimFranceXuxue Feng NEW
Jeanfrancois L FlosiCanadaIvan Magalhaes UNQUALIFIED
Clifford J DoeBrazilAsiya Javayant RENEWAL
Jennifer K SchemmerRussiaIvan Magalhaes PROPOSAL
Alejandro Q MarrierJapanElwin Sharvill QUALIFIED
Tony K NickaItalyOnyama Limba QUALIFIED
Mujtaba T MorascaAustraliaAmy Elsner NEW
Clifford I SaylorsUnited KingdomElwin Sharvill NEGOTIATION
Silvio K FigeroaArgentinaXuxue Feng QUALIFIED
Alejandro I ChuiJapanIoni Bowcher RENEWAL
Morrow L WaycottIndiaIoni Bowcher PROPOSAL
Stacey Q RulapaughIndiaElwin Sharvill RENEWAL
Johnson T FollerIndiaStephen Shaw UNQUALIFIED
Smith J GlickItalyIoni Bowcher PROPOSAL
Alejandro W ButtUnited KingdomElwin Sharvill QUALIFIED
Ashley Q InouyeUnited KingdomBernardo Dominic QUALIFIED
Silvio N MaletSpainIoni Bowcher NEW
Leon G PaprockiAustraliaOnyama Limba UNQUALIFIED
Aika C GarufiCanadaAsiya Javayant PROPOSAL
Frozen Columns
Name
Johnson U Perin
Faith O Slusarski
Maria B Slusarski
Juan B Darakjy
Ashley B Poquette
Aditya V Stockham
Alejandro O Rulapaugh
Adams F Waycott
Emily W Sergi
Leon C Morasca
James S Waycott
Jones X Darakjy
Mujtaba F Albares
Chavez X Bowley
Octavia W Bolognia
Morrow A Garufi
Jones K Marrier
Leon U Royster
Munro V Perin
Ivar Y Bowley
Johnson J Vocelka
Kadeem A Whobrey
Nicolas A Amigon
Morrow Q Venere
Smith T Ruta
Arvin I Bolognia
Aruna J Bolognia
Juan B Caudy
Octavia L Darakjy
Faith R Rim
Jennifer O Venere
Ricardo T Nestle
Julie M Sergi
Maria X Schemmer
Francesco M Butt
Wickens L Butt
Munro I Schemmer
Ashley U Malet
Kadeem R Ostrosky
Juan D Perin
Clifford I Bowley
Misaki Z Foller
Silvio I Foller
Tony P Nicka
Munro Q Waycott
Octavia Q Bolognia
Maisha D Malet
Salvatore A Kolmetz
Misaki A Paprocki
Greenwood L Slusarski
IdCountryDate
1000Australia2024-06-14
1001Canada2024-06-08
1002Germany2024-06-15
1003Spain2024-06-08
1004France2024-05-25
1005Italy2024-06-06
1006Japan2024-06-03
1007Canada2024-06-01
1008India2024-06-15
1009Russia2024-06-18
1010Canada2024-06-07
1011Italy2024-06-16
1012United Kingdom2024-05-25
1013Russia2024-06-19
1014Germany2024-06-09
1015Japan2024-05-30
1016India2024-05-30
1017France2024-06-06
1018Argentina2024-06-16
1019Australia2024-06-12
1020Italy2024-06-01
1021India2024-06-15
1022Germany2024-06-20
1023India2024-05-27
1024Germany2024-06-06
1025Russia2024-06-16
1026Argentina2024-05-30
1027Russia2024-05-27
1028Italy2024-06-10
1029India2024-06-05
1030United Kingdom2024-05-29
1031Canada2024-06-12
1032France2024-06-16
1033Italy2024-06-04
1034India2024-05-28
1035France2024-05-25
1036Japan2024-06-17
1037France2024-06-10
1038France2024-06-15
1039Brazil2024-06-23
1040Russia2024-06-05
1041Argentina2024-05-30
1042India2024-06-23
1043Spain2024-06-21
1044Germany2024-05-28
1045Germany2024-06-14
1046United Kingdom2024-06-15
1047India2024-06-08
1048Russia2024-06-01
1049India2024-06-04

On-Demand Data

NameIdCountryDate
Rodrigues Q Malet1000Italy2024-06-04
Misaki Q Inouye1001India2024-06-10
Misaki X Iturbide1002Germany2024-06-08
Munro P Bowley1003Brazil2024-05-30
Aruna M Nestle1004United Kingdom2024-05-31
Izzy K Butt1005Brazil2024-06-14
Ivar N Poquette1006Spain2024-06-06
Ivar A Glick1007Japan2024-06-20
Greenwood C Royster1008Germany2024-05-31
Mayumi I Caldarera1009India2024-06-01
Leja H Garufi1010Spain2024-06-11
Ivar P Gillian1011Germany2024-06-11
Jennifer Z Sergi1012India2024-06-08
Claire N Ferencz1013Japan2024-06-18
Isabel Z Amigon1014Italy2024-06-17
Clifford A Venere1015Brazil2024-05-26
Claire U Darakjy1016Argentina2024-06-02
Isabel K Shinko1017Italy2024-06-15
Antonio W Waycott1018Australia2024-06-11
Smith M Perin1019France2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo L BologniaArgentinaIoni Bowcher NEW
Juan H KuskoFranceOnyama Limba RENEWAL
Ricardo R KuskoCanadaIoni Bowcher PROPOSAL
Cody W SergiAustraliaElwin Sharvill NEW
Wickens A BologniaBrazilIvan Magalhaes QUALIFIED
Chavez U NickaBrazilIvan Magalhaes PROPOSAL
Nicolas M GauchoBrazilXuxue Feng NEW
Ricardo I OldroydCanadaAnna Fali QUALIFIED
Jones R GillianFranceBernardo Dominic UNQUALIFIED
Jones X DoeBrazilAnna Fali NEW
Murillo G VenereAustraliaIvan Magalhaes NEGOTIATION
Octavia U KuskoCanadaAmy Elsner RENEWAL
Izzy N CaldareraBrazilBernardo Dominic NEGOTIATION
Arvin A WhobreyFranceIoni Bowcher UNQUALIFIED
Izzy T FollerIndiaBernardo Dominic NEW
Claire W WhobreyRussiaStephen Shaw RENEWAL
Costa B WhobreyGermanyOnyama Limba RENEWAL
Stacey G MaletSpainAnna Fali NEGOTIATION
Smith E RimIndiaAsiya Javayant NEGOTIATION
Maisha A DilliardItalyBernardo Dominic UNQUALIFIED
Faith K CaldareraJapanStephen Shaw RENEWAL
Clifford V SlusarskiRussiaIoni Bowcher RENEWAL
Silvio S VocelkaFranceStephen Shaw PROPOSAL
Smith U IturbideGermanyIvan Magalhaes PROPOSAL
Isabel R NickaArgentinaBernardo Dominic QUALIFIED
Emily D FlosiRussiaBernardo Dominic RENEWAL
Ashley S WaycottSpainXuxue Feng PROPOSAL
Kadeem P AlbaresAustraliaOnyama Limba QUALIFIED
Izzy K KolmetzSpainBernardo Dominic UNQUALIFIED
Leon T BologniaFranceAsiya Javayant QUALIFIED
Deepesh L FollerUnited KingdomAnna Fali QUALIFIED
Alejandro O NickaJapanXuxue Feng UNQUALIFIED
Rodrigues F RutaAustraliaAsiya Javayant QUALIFIED
Stacey X AmigonIndiaIoni Bowcher RENEWAL
Jeanfrancois B TollnerSpainStephen Shaw UNQUALIFIED
Jones D RulapaughJapanAnna Fali NEW
David G DoeAustraliaIvan Magalhaes QUALIFIED
Misaki Y WieserBrazilAnna Fali NEGOTIATION
Kadeem O NestleUnited KingdomAsiya Javayant NEW
Wickens N GauchoArgentinaAnna Fali 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>