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 E VenereBrazilAsiya Javayant NEW
Maisha S FollerArgentinaOnyama Limba QUALIFIED
Aruna L PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Sinclair W IturbideGermanyOnyama Limba UNQUALIFIED
Jeanfrancois K MaletUnited KingdomAsiya Javayant PROPOSAL
Rodrigues M AmigonAustraliaIvan Magalhaes NEGOTIATION
Clifford W DarakjyBrazilIoni Bowcher QUALIFIED
Jones V BologniaJapanIvan Magalhaes UNQUALIFIED
Mujtaba C ShinkoGermanyIvan Magalhaes PROPOSAL
Chavez M TollnerBrazilIvan Magalhaes QUALIFIED
Deepesh Y ButtItalyXuxue Feng NEGOTIATION
Costa T DoeIndiaElwin Sharvill QUALIFIED
Alejandro A SergiGermanyBernardo Dominic RENEWAL
Aruna B StockhamBrazilStephen Shaw UNQUALIFIED
Jones G StensethUnited KingdomElwin Sharvill NEW
Emily P SergiCanadaAmy Elsner UNQUALIFIED
Arvin N GlickFranceOnyama Limba NEGOTIATION
Cody P BologniaJapanStephen Shaw NEW
Izzy U RulapaughItalyXuxue Feng NEGOTIATION
Wickens I StensethSpainXuxue Feng QUALIFIED
Rodrigues Z VocelkaBrazilBernardo Dominic NEGOTIATION
Leja J NickaFranceAmy Elsner NEW
Johnson X WaycottIndiaStephen Shaw UNQUALIFIED
Cody U BriddickAustraliaStephen Shaw NEGOTIATION
Juan S StockhamBrazilBernardo Dominic NEW
Alejandro A CampainAustraliaElwin Sharvill PROPOSAL
Jefferson F FlosiArgentinaBernardo Dominic NEGOTIATION
Francesco S MacleadIndiaAnna Fali NEGOTIATION
Darci G IturbideArgentinaIoni Bowcher NEGOTIATION
Leon X MorascaIndiaIoni Bowcher RENEWAL
Misaki H CaudySpainIvan Magalhaes PROPOSAL
Antonio X MorascaFranceAnna Fali RENEWAL
Salvatore M BologniaItalyIoni Bowcher NEW
Smith P MaletJapanAsiya Javayant NEGOTIATION
Adams O GlickBrazilBernardo Dominic NEW
Francesco E FerenczAustraliaOnyama Limba UNQUALIFIED
Julie Y KolmetzGermanyElwin Sharvill NEW
Aika Q AlbaresJapanIoni Bowcher PROPOSAL
Costa L AmigonUnited KingdomAnna Fali RENEWAL
Leja I ChuiArgentinaStephen Shaw PROPOSAL
Aruna Q MarrierIndiaAmy Elsner UNQUALIFIED
Ivar S KuskoJapanAnna Fali NEW
Mujtaba Y KolmetzGermanyXuxue Feng PROPOSAL
Johnson E PerinIndiaBernardo Dominic PROPOSAL
James R BriddickJapanIoni Bowcher PROPOSAL
Morrow D VocelkaItalyIoni Bowcher NEGOTIATION
Faith D NestleItalyStephen Shaw PROPOSAL
Leon L SchemmerItalyIvan Magalhaes UNQUALIFIED
Juan S KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Nicolas C SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Sinclair L OstroskyCanadaElwin Sharvill UNQUALIFIED
Silvio A ShinkoCanadaIoni Bowcher PROPOSAL
Johnson B FollerRussiaElwin Sharvill QUALIFIED
Aditya J RulapaughCanadaAmy Elsner NEW
Costa T RulapaughIndiaOnyama Limba NEGOTIATION
Alejandro A BriddickRussiaAmy Elsner UNQUALIFIED
Costa S RimCanadaAnna Fali RENEWAL
Aditya Y OldroydItalyAsiya Javayant UNQUALIFIED
David P MaletIndiaXuxue Feng RENEWAL
Cody N SlusarskiSpainBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire A GauchoSpain2024-05-15Truhlar And Truhlar Attys QUALIFIED62Elwin Sharvill
1001Misaki N TollnerGermany2024-05-31Chemel, James L Cpa PROPOSAL98Asiya Javayant
1002Jeanfrancois F AmigonBrazil2024-05-16Commercial Press UNQUALIFIED63Anna Fali
1003Izzy R IturbideFrance2024-05-26Chapman, Ross E Esq QUALIFIED29Elwin Sharvill
1004Misaki B TollnerArgentina2024-06-13Morlong Associates QUALIFIED22Amy Elsner
1005Murillo O DoeGermany2024-05-15Benton, John B Jr PROPOSAL5Ivan Magalhaes
1006Leon J RutaJapan2024-06-11Printing Dimensions PROPOSAL11Amy Elsner
1007Misaki T VocelkaIndia2024-05-31Morlong Associates RENEWAL82Bernardo Dominic
1008Ashley G GlickUnited Kingdom2024-05-21Printing Dimensions PROPOSAL68Ivan Magalhaes
1009Chavez O ShinkoSpain2024-05-21Dorl, James J Esq RENEWAL57Bernardo Dominic
1010Mujtaba W MorascaUnited Kingdom2024-05-30Chapman, Ross E Esq UNQUALIFIED59Asiya Javayant
1011Silvio L VocelkaIndia2024-05-16Chemel, James L Cpa NEGOTIATION15Amy Elsner
1012Claire A MarrierAustralia2024-05-19Benton, John B Jr NEGOTIATION50Stephen Shaw
1013Julie G PerinBrazil2024-05-23King, Christopher A Esq RENEWAL26Elwin Sharvill
1014David G RulapaughGermany2024-05-28Benton, John B Jr RENEWAL61Anna Fali
1015Wickens Z MaletAustralia2024-05-26Feltz Printing Service UNQUALIFIED16Anna Fali
1016Emily Z DilliardGermany2024-06-02Morlong Associates NEW38Amy Elsner
1017Mujtaba B MarrierGermany2024-06-11Benton, John B Jr UNQUALIFIED76Onyama Limba
1018Ivar W KolmetzAustralia2024-05-20Benton, John B Jr NEGOTIATION48Ivan Magalhaes
1019James G VenereJapan2024-05-19Benton, John B Jr NEW88Elwin Sharvill
1020Alejandro C DilliardUnited Kingdom2024-06-09Morlong Associates NEW15Ivan Magalhaes
1021Silvio H WieserSpain2024-06-01Chapman, Ross E Esq RENEWAL56Ivan Magalhaes
1022Izzy A SlusarskiJapan2024-06-01Rangoni Of Florence QUALIFIED22Anna Fali
1023Aika A GillianUnited Kingdom2024-05-22Morlong Associates NEW11Asiya Javayant
1024Silvio J CaudyItaly2024-05-28King, Christopher A Esq RENEWAL77Anna Fali
1025Kadeem I PoquetteRussia2024-06-06Truhlar And Truhlar Attys NEW14Ioni Bowcher
1026Munro E KolmetzAustralia2024-05-20Dorl, James J Esq NEW81Ivan Magalhaes
1027Silvio O SlusarskiAustralia2024-05-25Feltz Printing Service NEGOTIATION24Asiya Javayant
1028Cody A MacleadItaly2024-05-31Truhlar And Truhlar Attys NEW87Stephen Shaw
1029Mujtaba Q GlickItaly2024-06-07Chapman, Ross E Esq PROPOSAL86Ivan Magalhaes
1030Rodrigues V ShinkoFrance2024-06-02Chemel, James L Cpa RENEWAL78Xuxue Feng
1031Misaki V NickaCanada2024-06-08Rangoni Of Florence RENEWAL99Stephen Shaw
1032Claire I WhobreyArgentina2024-05-22Benton, John B Jr QUALIFIED14Elwin Sharvill
1033Francesco S KuskoFrance2024-05-25Truhlar And Truhlar Attys NEW29Ioni Bowcher
1034Isabel F RoysterFrance2024-05-22Feltz Printing Service UNQUALIFIED65Elwin Sharvill
1035Claire M WhobreyFrance2024-06-07Morlong Associates NEGOTIATION99Ioni Bowcher
1036Isabel T KuskoBrazil2024-05-22Morlong Associates UNQUALIFIED89Ioni Bowcher
1037Claire L OstroskyUnited Kingdom2024-05-21Chanay, Jeffrey A Esq UNQUALIFIED7Elwin Sharvill
1038Jones V MacleadCanada2024-05-24Rangoni Of Florence QUALIFIED2Elwin Sharvill
1039Darci P GillianRussia2024-05-16King, Christopher A Esq PROPOSAL62Xuxue Feng
1040Sinclair P GauchoRussia2024-05-20Dorl, James J Esq RENEWAL96Amy Elsner
1041Stacey M ShinkoCanada2024-05-19Morlong Associates NEGOTIATION52Ioni Bowcher
1042Francesco L WieserArgentina2024-05-18Dorl, James J Esq NEGOTIATION85Elwin Sharvill
1043Smith X WieserItaly2024-05-19Buckley Miller Wright QUALIFIED74Anna Fali
1044Nicolas J IturbideBrazil2024-05-24King, Christopher A Esq NEGOTIATION2Xuxue Feng
1045Faith V NestleGermany2024-05-26Commercial Press RENEWAL50Asiya Javayant
1046Costa O MaletArgentina2024-05-15Benton, John B Jr UNQUALIFIED30Amy Elsner
1047Leon K RimSpain2024-05-16Buckley Miller Wright RENEWAL45Elwin Sharvill
1048Maria D NickaSpain2024-06-03King, Christopher A Esq QUALIFIED94Elwin Sharvill
1049Misaki L ChuiBrazil2024-06-12Dorl, James J Esq PROPOSAL78Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Adams S SchemmerCanadaIoni Bowcher NEGOTIATION
Claire S BriddickIndiaAmy Elsner UNQUALIFIED
Smith O GauchoRussiaIvan Magalhaes QUALIFIED
Rodrigues E FerenczIndiaXuxue Feng NEW
Leja A ShinkoSpainAnna Fali PROPOSAL
Jeanfrancois K NestleIndiaStephen Shaw RENEWAL
Smith P AlbaresUnited KingdomIoni Bowcher NEGOTIATION
Izzy W AmigonRussiaBernardo Dominic NEW
Rodrigues K PaprockiRussiaAsiya Javayant UNQUALIFIED
Greenwood B FerenczAustraliaIvan Magalhaes NEGOTIATION
Kaitlin B PoquetteSpainElwin Sharvill UNQUALIFIED
Alejandro P BriddickItalyXuxue Feng NEGOTIATION
Smith N KuskoArgentinaStephen Shaw RENEWAL
Aditya R RutaJapanXuxue Feng UNQUALIFIED
Clifford C SchemmerGermanyOnyama Limba NEGOTIATION
Maisha L RutaSpainStephen Shaw NEGOTIATION
Jefferson D FerenczItalyOnyama Limba NEW
Aika L OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Maria A MaletCanadaStephen Shaw NEGOTIATION
Aditya E KolmetzSpainOnyama Limba NEGOTIATION
Smith X StockhamBrazilXuxue Feng NEW
Juan M FollerCanadaIvan Magalhaes NEW
Aruna H ChuiGermanyOnyama Limba UNQUALIFIED
Darci M SaylorsArgentinaAnna Fali NEGOTIATION
Salvatore W DilliardIndiaIvan Magalhaes NEGOTIATION
Murillo Q IturbideSpainAmy Elsner NEGOTIATION
Julie D BologniaBrazilStephen Shaw PROPOSAL
Leon A GarufiItalyIvan Magalhaes PROPOSAL
Ivar V FerenczCanadaXuxue Feng NEW
Aruna P TollnerRussiaIoni Bowcher PROPOSAL
Sinclair I CampainFranceStephen Shaw NEW
Emily U PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Misaki L StockhamJapanIvan Magalhaes QUALIFIED
Smith O PerinFranceOnyama Limba UNQUALIFIED
Wickens A CaudyIndiaAsiya Javayant RENEWAL
Leon O WaycottItalyOnyama Limba NEGOTIATION
Tony Y MarrierItalyAnna Fali QUALIFIED
Costa P PoquetteCanadaOnyama Limba UNQUALIFIED
Kaitlin I DarakjyAustraliaAmy Elsner NEGOTIATION
Jeanfrancois P FigeroaAustraliaIoni Bowcher NEGOTIATION
Salvatore E OstroskyFranceStephen Shaw NEW
Smith S AlbaresUnited KingdomIvan Magalhaes NEW
Silvio S InouyeAustraliaAnna Fali QUALIFIED
Kadeem N CaldareraBrazilXuxue Feng QUALIFIED
Emily P FlosiRussiaBernardo Dominic NEGOTIATION
Tony R AmigonIndiaAmy Elsner RENEWAL
Isabel G ChuiBrazilXuxue Feng PROPOSAL
Octavia Y MarrierJapanElwin Sharvill UNQUALIFIED
Leon A ChuiItalyStephen Shaw NEGOTIATION
Ivar F RimUnited KingdomOnyama Limba UNQUALIFIED
Frozen Columns
Name
Leja S Gaucho
Wickens B Poquette
Jeanfrancois S Oldroyd
Mujtaba X Stenseth
Ivar Y Chui
Jefferson M Amigon
James O Butt
Stacey G Malet
Kadeem H Schemmer
Ricardo I Malet
Misaki F Marrier
Kaitlin C Rulapaugh
Juan Z Wieser
Alejandro T Doe
James G Gillian
Johnson J Venere
Stacey E Glick
Julie U Ostrosky
Julie K Bowley
Clifford G Dilliard
Misaki Z Caldarera
Leja C Waycott
Tony X Chui
Costa X Ostrosky
Munro M Glick
Leon Q Chui
Juan E Tollner
David Y Malet
Costa H Oldroyd
Claire P Garufi
Jennifer H Flosi
Adams R Caudy
Leon Y Gaucho
Murillo Z Ruta
Octavia N Schemmer
Wickens P Butt
Murillo V Inouye
Maisha D Caldarera
Greenwood N Perin
Jefferson Y Butt
Salvatore G Stockham
Stacey U Tollner
Julie G Amigon
Smith A Wieser
Cody U Kusko
Alejandro B Ostrosky
Munro G Stenseth
Nicolas D Darakjy
Adams A Marrier
Aika V Butt
IdCountryDate
1000India2024-05-18
1001Italy2024-06-09
1002United Kingdom2024-05-30
1003Argentina2024-05-23
1004Russia2024-06-08
1005Italy2024-06-05
1006Canada2024-05-19
1007Brazil2024-05-30
1008Germany2024-05-27
1009Russia2024-06-09
1010Russia2024-06-02
1011Canada2024-05-26
1012Russia2024-06-09
1013Canada2024-05-30
1014United Kingdom2024-06-10
1015Spain2024-05-30
1016France2024-05-24
1017France2024-05-23
1018Spain2024-06-11
1019Germany2024-06-02
1020Japan2024-06-01
1021Japan2024-05-28
1022Germany2024-05-29
1023France2024-06-09
1024United Kingdom2024-05-17
1025Japan2024-06-01
1026India2024-06-12
1027Canada2024-05-17
1028Australia2024-05-27
1029Germany2024-05-18
1030Australia2024-06-04
1031France2024-06-09
1032Germany2024-06-01
1033India2024-06-09
1034Japan2024-05-29
1035United Kingdom2024-05-26
1036Japan2024-06-07
1037Brazil2024-05-23
1038Spain2024-05-19
1039Australia2024-05-16
1040Australia2024-05-16
1041Japan2024-05-28
1042United Kingdom2024-05-15
1043Italy2024-05-26
1044Japan2024-05-19
1045France2024-06-03
1046Germany2024-06-10
1047Spain2024-06-09
1048Germany2024-05-26
1049Spain2024-05-31

On-Demand Data

NameIdCountryDate
Jennifer C Venere1000Australia2024-05-28
Sinclair Y Poquette1001Germany2024-05-26
Francesco X Vocelka1002United Kingdom2024-06-03
Smith F Foller1003Canada2024-06-13
Mujtaba S Kusko1004Australia2024-05-19
Morrow N Figeroa1005Japan2024-05-20
Murillo G Ruta1006Canada2024-05-17
Rodrigues J Iturbide1007Italy2024-05-18
Francesco W Malet1008Spain2024-05-21
Leon I Dilliard1009France2024-05-16
Smith I Tollner1010Italy2024-06-12
Francesco E Doe1011Brazil2024-06-13
Mayumi N Iturbide1012France2024-05-17
Izzy N Stenseth1013France2024-05-28
Leon A Perin1014Argentina2024-06-12
Chavez V Caldarera1015United Kingdom2024-06-05
Costa K Nestle1016Russia2024-05-20
Nicolas J Butt1017Russia2024-05-22
Adams U Caudy1018Spain2024-06-11
David M Maclead1019Brazil2024-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo Y CampainCanadaIoni Bowcher PROPOSAL
Mujtaba G SlusarskiFranceOnyama Limba NEW
Juan M RimCanadaAnna Fali NEGOTIATION
Adams B RutaItalyAnna Fali RENEWAL
Leon Q IturbideBrazilOnyama Limba QUALIFIED
Ashley R TollnerFranceBernardo Dominic RENEWAL
James C MaletCanadaXuxue Feng PROPOSAL
Leon Q BologniaUnited KingdomAsiya Javayant PROPOSAL
Claire M RimUnited KingdomIoni Bowcher NEW
Greenwood U BowleyItalyIvan Magalhaes NEGOTIATION
Darci L CampainFranceAmy Elsner UNQUALIFIED
Sinclair W MorascaJapanStephen Shaw NEGOTIATION
Leja B ButtFranceElwin Sharvill RENEWAL
Arvin P MaletArgentinaBernardo Dominic UNQUALIFIED
Izzy A CaudyUnited KingdomAnna Fali NEGOTIATION
Wickens F IturbideIndiaAmy Elsner NEW
Maria U VocelkaJapanStephen Shaw NEGOTIATION
Leon I GlickFranceAsiya Javayant QUALIFIED
Ashley S GarufiUnited KingdomAmy Elsner QUALIFIED
Aika N FollerGermanyIoni Bowcher QUALIFIED
Kaitlin W PaprockiArgentinaXuxue Feng PROPOSAL
Leon U VenereFranceAmy Elsner PROPOSAL
Julie Y WhobreyAustraliaStephen Shaw RENEWAL
Murillo U ChuiRussiaAmy Elsner NEGOTIATION
Kaitlin Q StockhamItalyBernardo Dominic NEW
Chavez W RimRussiaIvan Magalhaes RENEWAL
Salvatore G SaylorsBrazilBernardo Dominic NEGOTIATION
Arvin N ChuiIndiaBernardo Dominic PROPOSAL
Izzy Z BriddickJapanAnna Fali UNQUALIFIED
Kaitlin R FollerFranceAmy Elsner UNQUALIFIED
Jennifer C SergiItalyAnna Fali QUALIFIED
Wickens V GauchoFranceAnna Fali NEGOTIATION
Juan U ButtCanadaElwin Sharvill NEW
Isabel Y PoquetteUnited KingdomIoni Bowcher QUALIFIED
Faith G ChuiBrazilOnyama Limba QUALIFIED
Emily V StensethArgentinaAmy Elsner UNQUALIFIED
Claire Z BowleySpainAmy Elsner PROPOSAL
Arvin O ShinkoBrazilAsiya Javayant NEW
Faith M AlbaresGermanyOnyama Limba NEGOTIATION
Stacey V PaprockiUnited KingdomStephen Shaw QUALIFIED

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