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
Ricardo E BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Maria U BowleyBrazilAsiya Javayant NEW
Leja F ButtArgentinaIoni Bowcher PROPOSAL
Mayumi U GarufiRussiaStephen Shaw NEW
Claire S DilliardFranceIoni Bowcher UNQUALIFIED
Morrow B NestleSpainStephen Shaw PROPOSAL
Octavia B MorascaGermanyStephen Shaw UNQUALIFIED
Antonio T NickaArgentinaBernardo Dominic QUALIFIED
Octavia U AmigonJapanAmy Elsner RENEWAL
Nicolas R SaylorsGermanyAnna Fali NEW
Arvin U SaylorsBrazilBernardo Dominic UNQUALIFIED
Ashley A RimItalyXuxue Feng NEW
Nicolas F GauchoBrazilAnna Fali NEGOTIATION
Salvatore D PoquetteIndiaStephen Shaw RENEWAL
Clifford L MaletSpainBernardo Dominic NEGOTIATION
James I CampainCanadaOnyama Limba QUALIFIED
Wickens X VocelkaBrazilAsiya Javayant UNQUALIFIED
Johnson Q MacleadSpainOnyama Limba PROPOSAL
Jennifer D CaudyUnited KingdomOnyama Limba RENEWAL
Mayumi C CaldareraItalyAmy Elsner PROPOSAL
Cody L AlbaresIndiaAmy Elsner NEGOTIATION
Maria O ChuiRussiaOnyama Limba PROPOSAL
Munro W MaletRussiaAnna Fali UNQUALIFIED
Antonio Z RoysterBrazilIoni Bowcher RENEWAL
Leja M KolmetzIndiaElwin Sharvill PROPOSAL
Smith N DoeCanadaOnyama Limba PROPOSAL
Emily O PaprockiItalyAsiya Javayant NEGOTIATION
Deepesh Q MaletSpainStephen Shaw PROPOSAL
Chavez R TollnerCanadaAnna Fali PROPOSAL
Emily V RimIndiaAsiya Javayant QUALIFIED
Munro I MaletIndiaIoni Bowcher PROPOSAL
Arvin I BowleyFranceAnna Fali PROPOSAL
Salvatore P AmigonIndiaElwin Sharvill QUALIFIED
Chavez T NestleItalyAnna Fali NEW
Ashley R SlusarskiArgentinaAsiya Javayant QUALIFIED
Octavia B ChuiRussiaXuxue Feng RENEWAL
Adams F PerinUnited KingdomAnna Fali NEGOTIATION
Maisha Z MaletCanadaOnyama Limba UNQUALIFIED
Jefferson J DarakjyFranceAsiya Javayant UNQUALIFIED
Claire F BologniaArgentinaAnna Fali NEGOTIATION
Mayumi R AmigonFranceAmy Elsner PROPOSAL
Faith S NestleSpainAsiya Javayant UNQUALIFIED
Adams B DoeBrazilElwin Sharvill RENEWAL
Morrow B IturbideAustraliaIoni Bowcher UNQUALIFIED
Mujtaba M VocelkaIndiaIoni Bowcher NEW
Octavia Y AlbaresGermanyAsiya Javayant QUALIFIED
Arvin D KuskoGermanyXuxue Feng QUALIFIED
Izzy F GillianArgentinaIvan Magalhaes RENEWAL
Izzy L GlickBrazilAmy Elsner NEGOTIATION
Ivar N SaylorsUnited KingdomAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon O BologniaFranceStephen Shaw NEW
Aruna M MaletArgentinaOnyama Limba NEGOTIATION
Kaitlin K WhobreyArgentinaIvan Magalhaes NEGOTIATION
Jennifer E TollnerUnited KingdomAsiya Javayant RENEWAL
Mujtaba F BologniaSpainElwin Sharvill RENEWAL
Leon K OstroskyGermanyOnyama Limba PROPOSAL
James B ButtUnited KingdomIoni Bowcher NEGOTIATION
Faith F DilliardCanadaBernardo Dominic UNQUALIFIED
Claire X SergiCanadaBernardo Dominic RENEWAL
Leon D SlusarskiSpainBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David F CampainJapan2024-06-10Chemel, James L Cpa QUALIFIED21Xuxue Feng
1001Julie U TollnerAustralia2024-06-19Chemel, James L Cpa PROPOSAL36Asiya Javayant
1002Munro G TollnerArgentina2024-06-19Rangoni Of Florence QUALIFIED40Elwin Sharvill
1003Juan I MaletBrazil2024-06-08Rousseaux, Michael Esq NEGOTIATION79Stephen Shaw
1004Faith O GlickAustralia2024-05-28Truhlar And Truhlar Attys PROPOSAL75Elwin Sharvill
1005Juan B BriddickFrance2024-06-16Commercial Press NEW24Asiya Javayant
1006Darci U MorascaRussia2024-06-04Benton, John B Jr QUALIFIED89Elwin Sharvill
1007Aruna J MacleadItaly2024-06-03Commercial Press RENEWAL73Elwin Sharvill
1008Kadeem G NestleItaly2024-05-26Rangoni Of Florence UNQUALIFIED41Onyama Limba
1009Alejandro U WhobreyItaly2024-06-02King, Christopher A Esq NEW21Amy Elsner
1010Costa M BologniaUnited Kingdom2024-06-06Chapman, Ross E Esq UNQUALIFIED65Xuxue Feng
1011Clifford D ShinkoRussia2024-06-22Chanay, Jeffrey A Esq QUALIFIED84Stephen Shaw
1012Cody J MorascaIndia2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED68Ioni Bowcher
1013Ashley G BriddickRussia2024-06-14Benton, John B Jr RENEWAL84Onyama Limba
1014Rodrigues X PaprockiJapan2024-06-09Chanay, Jeffrey A Esq PROPOSAL89Anna Fali
1015Julie L PerinJapan2024-06-05Rousseaux, Michael Esq NEW43Onyama Limba
1016Kaitlin L OldroydAustralia2024-06-09Buckley Miller Wright NEGOTIATION42Ioni Bowcher
1017Ricardo B MorascaIndia2024-06-17Chapman, Ross E Esq RENEWAL75Asiya Javayant
1018Maisha V SaylorsFrance2024-05-25King, Christopher A Esq QUALIFIED50Bernardo Dominic
1019David V BologniaFrance2024-06-13Commercial Press RENEWAL35Asiya Javayant
1020Rodrigues T NickaBrazil2024-06-05Buckley Miller Wright NEW74Xuxue Feng
1021Adams P InouyeArgentina2024-06-14Morlong Associates UNQUALIFIED90Xuxue Feng
1022Aruna N GillianRussia2024-06-12Rangoni Of Florence UNQUALIFIED26Xuxue Feng
1023Aditya S DoeFrance2024-06-12Chemel, James L Cpa NEGOTIATION50Anna Fali
1024David D KolmetzSpain2024-05-30Chapman, Ross E Esq UNQUALIFIED51Amy Elsner
1025Maria W DarakjyArgentina2024-06-21Dorl, James J Esq PROPOSAL87Anna Fali
1026Jeanfrancois O TollnerSpain2024-05-29King, Christopher A Esq UNQUALIFIED39Xuxue Feng
1027Chavez J VenereBrazil2024-05-31Buckley Miller Wright NEGOTIATION95Amy Elsner
1028Sinclair U KolmetzIndia2024-05-31Printing Dimensions UNQUALIFIED34Stephen Shaw
1029Misaki Z ChuiGermany2024-05-24Chemel, James L Cpa NEGOTIATION1Ioni Bowcher
1030Maisha U PerinFrance2024-06-07Dorl, James J Esq NEW29Stephen Shaw
1031Greenwood Z GarufiCanada2024-06-13King, Christopher A Esq NEGOTIATION51Onyama Limba
1032Leja M AmigonIndia2024-06-14Chemel, James L Cpa UNQUALIFIED99Asiya Javayant
1033Greenwood O WaycottItaly2024-05-31Chapman, Ross E Esq NEW3Amy Elsner
1034Jennifer P KolmetzUnited Kingdom2024-05-25Morlong Associates QUALIFIED54Anna Fali
1035Aika A CaudyBrazil2024-06-11Printing Dimensions RENEWAL83Onyama Limba
1036Faith C AmigonIndia2024-06-06Rangoni Of Florence UNQUALIFIED10Stephen Shaw
1037Sinclair L AmigonUnited Kingdom2024-06-13Chanay, Jeffrey A Esq NEW64Asiya Javayant
1038Aditya Z ShinkoUnited Kingdom2024-06-12Benton, John B Jr NEW45Elwin Sharvill
1039Jones A SchemmerIndia2024-05-25Dorl, James J Esq UNQUALIFIED62Anna Fali
1040Julie B SaylorsRussia2024-06-08Truhlar And Truhlar Attys NEGOTIATION5Onyama Limba
1041Stacey X CaldareraArgentina2024-06-12Benton, John B Jr NEW8Asiya Javayant
1042Jones R AmigonSpain2024-05-28Chanay, Jeffrey A Esq NEGOTIATION59Stephen Shaw
1043Arvin E NestleIndia2024-06-22Commercial Press UNQUALIFIED11Elwin Sharvill
1044Kaitlin F StockhamCanada2024-06-08Commercial Press UNQUALIFIED16Xuxue Feng
1045Jones Y KuskoSpain2024-05-31Buckley Miller Wright UNQUALIFIED96Elwin Sharvill
1046Smith K NestleGermany2024-06-12Buckley Miller Wright PROPOSAL93Anna Fali
1047Kaitlin D VenereUnited Kingdom2024-05-30Chapman, Ross E Esq QUALIFIED23Ioni Bowcher
1048Costa Y GarufiRussia2024-05-25Printing Dimensions RENEWAL0Stephen Shaw
1049Aika H WhobreyIndia2024-06-10King, Christopher A Esq NEW27Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
James Y ShinkoIndiaAsiya Javayant NEW
Kadeem X WieserGermanyXuxue Feng UNQUALIFIED
Mayumi L ButtArgentinaAnna Fali NEW
Alejandro C GarufiFranceAnna Fali QUALIFIED
Ashley Y PoquetteGermanyBernardo Dominic UNQUALIFIED
Salvatore J SlusarskiGermanyElwin Sharvill QUALIFIED
Munro N MarrierCanadaIoni Bowcher NEW
Ivar E PaprockiJapanAsiya Javayant NEGOTIATION
Maisha P VocelkaIndiaElwin Sharvill PROPOSAL
Wickens A MaletUnited KingdomIoni Bowcher QUALIFIED
Maria X DilliardUnited KingdomAnna Fali RENEWAL
Mayumi C RutaGermanyIoni Bowcher UNQUALIFIED
Mujtaba T SchemmerCanadaXuxue Feng UNQUALIFIED
Cody Y DoeArgentinaAsiya Javayant NEW
Ivar B KolmetzSpainOnyama Limba UNQUALIFIED
Jones O SlusarskiCanadaIoni Bowcher RENEWAL
Kaitlin N VenereFranceAnna Fali PROPOSAL
Maisha P StockhamRussiaAnna Fali NEGOTIATION
Isabel H PerinRussiaBernardo Dominic NEW
Nicolas P NickaUnited KingdomOnyama Limba QUALIFIED
Darci R IturbideAustraliaIvan Magalhaes PROPOSAL
Smith Q SchemmerRussiaAsiya Javayant PROPOSAL
Aruna N FlosiFranceAnna Fali NEW
Tony Q BologniaBrazilOnyama Limba RENEWAL
Isabel N TollnerBrazilAnna Fali PROPOSAL
Chavez Z VocelkaRussiaOnyama Limba NEGOTIATION
Faith R RimArgentinaIvan Magalhaes PROPOSAL
Ashley Y KuskoRussiaXuxue Feng RENEWAL
Antonio W IturbideJapanIvan Magalhaes QUALIFIED
Costa Z OstroskyArgentinaStephen Shaw UNQUALIFIED
Smith O PaprockiSpainOnyama Limba RENEWAL
Misaki A StensethItalyBernardo Dominic RENEWAL
Ashley S CaudyFranceAnna Fali QUALIFIED
Maisha W AmigonArgentinaIvan Magalhaes QUALIFIED
Chavez N AmigonCanadaOnyama Limba NEW
Chavez E MorascaArgentinaOnyama Limba UNQUALIFIED
Aditya P RutaItalyIvan Magalhaes RENEWAL
Jeanfrancois E BriddickCanadaOnyama Limba NEW
Wickens F GlickAustraliaIvan Magalhaes UNQUALIFIED
Kadeem I WaycottAustraliaAnna Fali NEGOTIATION
Johnson F BowleyIndiaIoni Bowcher PROPOSAL
Rodrigues G GlickUnited KingdomXuxue Feng NEGOTIATION
Chavez R GarufiSpainIoni Bowcher RENEWAL
Jennifer E FerenczUnited KingdomElwin Sharvill QUALIFIED
Ricardo R PerinIndiaIoni Bowcher PROPOSAL
Morrow H DarakjyBrazilAmy Elsner PROPOSAL
Ivar J AmigonFranceElwin Sharvill RENEWAL
Salvatore R GarufiCanadaIvan Magalhaes RENEWAL
Adams Y PoquetteRussiaXuxue Feng QUALIFIED
Adams E KolmetzJapanAnna Fali NEW
Frozen Columns
Name
David L Nestle
Isabel U Malet
Aruna L Garufi
Kadeem V Darakjy
Mayumi U Royster
Julie K Saylors
Silvio T Garufi
Jennifer L Nicka
Salvatore N Campain
Costa H Oldroyd
Aruna I Schemmer
Arvin W Albares
Isabel K Saylors
Leon R Kusko
Jeanfrancois R Bowley
Rodrigues O Inouye
Stacey A Darakjy
Rodrigues L Kusko
Maria S Dilliard
Faith N Whobrey
Izzy Z Campain
Rodrigues B Wieser
Claire B Glick
Munro L Dilliard
Kadeem N Rulapaugh
Mayumi Z Malet
Silvio V Gaucho
Aditya I Waycott
Juan I Kusko
Leja H Doe
Jones Q Figeroa
Octavia W Waycott
Octavia Z Figeroa
Misaki Q Perin
Smith M Inouye
Izzy Z Albares
Adams X Malet
Aika M Stenseth
Silvio F Schemmer
Deepesh O Nestle
Silvio Z Campain
Isabel D Caldarera
Antonio M Poquette
Rodrigues F Venere
Juan H Perin
Octavia Y Rim
Ricardo I Doe
Juan O Shinko
Chavez L Waycott
Chavez H Caldarera
IdCountryDate
1000France2024-06-18
1001Brazil2024-05-25
1002India2024-05-25
1003Australia2024-06-02
1004Argentina2024-06-20
1005Canada2024-06-16
1006Argentina2024-06-22
1007Australia2024-06-17
1008Germany2024-06-21
1009Brazil2024-06-09
1010India2024-05-31
1011Germany2024-06-18
1012India2024-06-13
1013India2024-05-24
1014Spain2024-06-11
1015Australia2024-05-31
1016Argentina2024-06-18
1017Russia2024-05-31
1018Australia2024-06-18
1019Brazil2024-06-18
1020Spain2024-06-12
1021Japan2024-05-26
1022United Kingdom2024-06-07
1023Italy2024-06-19
1024Australia2024-06-02
1025Russia2024-06-01
1026Spain2024-05-28
1027Brazil2024-06-14
1028Italy2024-05-31
1029Spain2024-05-31
1030Japan2024-05-29
1031Russia2024-06-06
1032Italy2024-05-26
1033United Kingdom2024-06-02
1034Spain2024-06-20
1035Argentina2024-06-02
1036United Kingdom2024-05-26
1037Canada2024-06-10
1038India2024-06-03
1039United Kingdom2024-06-16
1040Italy2024-05-31
1041India2024-06-14
1042Brazil2024-05-28
1043Spain2024-05-29
1044France2024-05-31
1045Russia2024-05-31
1046Japan2024-05-27
1047United Kingdom2024-06-17
1048United Kingdom2024-05-30
1049Canada2024-06-14

On-Demand Data

NameIdCountryDate
Kaitlin B Gaucho1000Germany2024-06-14
Deepesh O Ostrosky1001Italy2024-06-10
Francesco G Slusarski1002Argentina2024-06-02
Jennifer E Doe1003India2024-05-31
Isabel R Caudy1004Canada2024-06-13
Arvin K Glick1005Australia2024-06-02
Rodrigues B Royster1006Japan2024-06-04
Tony K Sergi1007United Kingdom2024-05-30
Mujtaba Y Wieser1008Argentina2024-06-20
Alejandro C Doe1009Argentina2024-06-08
Leon N Nestle1010India2024-06-07
Ashley P Flosi1011France2024-06-14
Munro E Saylors1012France2024-06-12
Aruna S Schemmer1013Japan2024-06-07
Maisha J Vocelka1014India2024-06-13
James M Saylors1015Italy2024-06-08
Ricardo V Stenseth1016Australia2024-06-12
Emily D Inouye1017Germany2024-05-26
Chavez C Briddick1018Canada2024-06-04
Jones O Schemmer1019United Kingdom2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria E OldroydIndiaAnna Fali RENEWAL
Munro V MacleadCanadaIvan Magalhaes RENEWAL
Leja T PaprockiArgentinaIoni Bowcher PROPOSAL
Leon Z WaycottRussiaBernardo Dominic RENEWAL
Kaitlin E FigeroaUnited KingdomIvan Magalhaes NEW
Aditya V NickaFranceIoni Bowcher QUALIFIED
Aditya X DarakjyCanadaIoni Bowcher NEGOTIATION
Darci O FlosiArgentinaXuxue Feng NEW
Juan O FollerGermanyElwin Sharvill NEGOTIATION
Jennifer L BologniaItalyOnyama Limba QUALIFIED
Mayumi T WaycottGermanyAsiya Javayant NEW
Octavia R MaletBrazilOnyama Limba RENEWAL
Arvin Q GarufiIndiaBernardo Dominic PROPOSAL
Jones A GarufiGermanyOnyama Limba QUALIFIED
Alejandro B PaprockiUnited KingdomXuxue Feng NEGOTIATION
Greenwood G RulapaughBrazilIoni Bowcher UNQUALIFIED
Julie Y KolmetzArgentinaStephen Shaw RENEWAL
Mujtaba B GillianBrazilElwin Sharvill NEW
Isabel O GlickItalyElwin Sharvill UNQUALIFIED
Alejandro D GauchoItalyBernardo Dominic PROPOSAL
Wickens N PaprockiSpainStephen Shaw UNQUALIFIED
Munro Q RimIndiaElwin Sharvill NEW
Wickens X RoysterJapanElwin Sharvill NEW
James A FigeroaRussiaOnyama Limba RENEWAL
Kadeem X RoysterArgentinaBernardo Dominic NEW
Munro D ShinkoUnited KingdomAsiya Javayant PROPOSAL
Nicolas G MarrierFranceAmy Elsner NEW
Faith F RimRussiaAmy Elsner PROPOSAL
Leon T KolmetzUnited KingdomIoni Bowcher QUALIFIED
Chavez V CaldareraGermanyIvan Magalhaes NEW
Ricardo F MarrierFranceAnna Fali NEGOTIATION
Ashley E NestleJapanStephen Shaw QUALIFIED
Aditya M SaylorsIndiaStephen Shaw QUALIFIED
Julie F RutaItalyIvan Magalhaes UNQUALIFIED
Rodrigues I MorascaCanadaBernardo Dominic NEW
Cody C RoysterItalyAnna Fali PROPOSAL
Munro Y GauchoItalyXuxue Feng QUALIFIED
Clifford N RoysterArgentinaAmy Elsner UNQUALIFIED
Kadeem H CaudySpainIoni Bowcher NEW
Aruna G KuskoRussiaElwin Sharvill UNQUALIFIED

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