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
Emily G IturbideIndiaBernardo Dominic PROPOSAL
Kaitlin G BriddickSpainAnna Fali QUALIFIED
Jennifer L FerenczArgentinaOnyama Limba PROPOSAL
Jeanfrancois X DarakjyRussiaIoni Bowcher PROPOSAL
Kaitlin U KolmetzAustraliaAmy Elsner QUALIFIED
Silvio O ChuiSpainAnna Fali NEW
Juan B CaudyGermanyAsiya Javayant RENEWAL
Mayumi Q WaycottFranceAmy Elsner NEW
Juan O MaletJapanElwin Sharvill NEGOTIATION
Clifford Q KolmetzFranceAnna Fali QUALIFIED
Aruna W ButtCanadaAmy Elsner RENEWAL
Adams R SergiSpainIoni Bowcher UNQUALIFIED
Jeanfrancois L PerinSpainAsiya Javayant RENEWAL
Deepesh V WhobreyUnited KingdomXuxue Feng QUALIFIED
Emily Y SchemmerUnited KingdomAsiya Javayant NEW
Juan J RimRussiaAnna Fali RENEWAL
Ivar R SchemmerUnited KingdomOnyama Limba QUALIFIED
Johnson P CaudyGermanyStephen Shaw NEW
Izzy F KolmetzAustraliaBernardo Dominic NEGOTIATION
Octavia G FigeroaArgentinaIvan Magalhaes PROPOSAL
Johnson B GillianItalyAmy Elsner NEW
David W FerenczIndiaBernardo Dominic QUALIFIED
Julie M StockhamCanadaBernardo Dominic NEW
Rodrigues U DoeFranceBernardo Dominic RENEWAL
Darci D RoysterItalyIoni Bowcher PROPOSAL
Ashley W SlusarskiCanadaAmy Elsner PROPOSAL
Mujtaba Q ShinkoUnited KingdomXuxue Feng QUALIFIED
Aditya W OldroydArgentinaAsiya Javayant PROPOSAL
Munro T GillianItalyOnyama Limba PROPOSAL
Kaitlin L FigeroaGermanyAnna Fali NEW
Aditya S VenereFranceElwin Sharvill UNQUALIFIED
Antonio A BologniaItalyAsiya Javayant RENEWAL
Ivar F PaprockiJapanAmy Elsner NEGOTIATION
Jeanfrancois F SaylorsCanadaXuxue Feng QUALIFIED
Stacey T GarufiRussiaStephen Shaw NEGOTIATION
Cody Q GarufiArgentinaXuxue Feng PROPOSAL
Emily Z SaylorsFranceAnna Fali RENEWAL
Misaki K BologniaJapanAnna Fali UNQUALIFIED
Izzy V ChuiRussiaXuxue Feng UNQUALIFIED
Salvatore K OldroydArgentinaAnna Fali UNQUALIFIED
Maisha N MacleadItalyIoni Bowcher RENEWAL
Maisha J PoquetteIndiaAsiya Javayant PROPOSAL
Emily A CampainGermanyIvan Magalhaes QUALIFIED
Isabel R PaprockiUnited KingdomXuxue Feng RENEWAL
Jeanfrancois Z GauchoCanadaAmy Elsner NEW
Maria X MaletUnited KingdomIvan Magalhaes QUALIFIED
Aruna W ButtFranceAnna Fali RENEWAL
Smith Z KolmetzCanadaAsiya Javayant NEW
Greenwood K MacleadJapanOnyama Limba PROPOSAL
Isabel T ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey C SchemmerFranceStephen Shaw RENEWAL
Ivar D SlusarskiSpainBernardo Dominic NEW
Wickens I DoeGermanyAsiya Javayant UNQUALIFIED
Jefferson U WieserRussiaAmy Elsner RENEWAL
Kaitlin U CaudyIndiaAmy Elsner RENEWAL
Aditya L MaletAustraliaIoni Bowcher RENEWAL
Jefferson M KolmetzIndiaBernardo Dominic NEGOTIATION
Cody D FlosiIndiaXuxue Feng QUALIFIED
Murillo L FollerUnited KingdomIvan Magalhaes UNQUALIFIED
James M SchemmerSpainAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel P OstroskyArgentina2024-06-08Chapman, Ross E Esq QUALIFIED33Onyama Limba
1001Morrow O StensethCanada2024-05-29Feltz Printing Service NEGOTIATION86Bernardo Dominic
1002Wickens K DilliardItaly2024-06-05Feltz Printing Service PROPOSAL57Stephen Shaw
1003Claire R TollnerBrazil2024-06-14Buckley Miller Wright NEW78Anna Fali
1004Jeanfrancois O GlickJapan2024-06-10Benton, John B Jr RENEWAL42Bernardo Dominic
1005Adams Y PoquetteCanada2024-05-28Commercial Press RENEWAL71Xuxue Feng
1006Mujtaba U KuskoFrance2024-06-01Chanay, Jeffrey A Esq NEGOTIATION58Ioni Bowcher
1007Clifford B CaudySpain2024-06-08Chemel, James L Cpa UNQUALIFIED36Anna Fali
1008Darci C OldroydItaly2024-06-13Truhlar And Truhlar Attys NEGOTIATION65Ivan Magalhaes
1009Aditya L VocelkaAustralia2024-05-23Chapman, Ross E Esq NEGOTIATION16Elwin Sharvill
1010Ivar X DilliardGermany2024-05-31Chemel, James L Cpa NEW50Stephen Shaw
1011Murillo W GillianIndia2024-06-03Benton, John B Jr NEW68Ioni Bowcher
1012Tony B BologniaIndia2024-05-26Chanay, Jeffrey A Esq RENEWAL47Anna Fali
1013Smith T TollnerItaly2024-05-23Feiner Bros RENEWAL83Onyama Limba
1014Cody T CaudyUnited Kingdom2024-06-18Buckley Miller Wright RENEWAL96Anna Fali
1015Salvatore X RulapaughItaly2024-05-23Commercial Press QUALIFIED77Amy Elsner
1016Chavez A MorascaCanada2024-05-21King, Christopher A Esq UNQUALIFIED40Asiya Javayant
1017Aika O BowleySpain2024-05-30Feltz Printing Service NEW96Anna Fali
1018Alejandro P SlusarskiItaly2024-06-04Rousseaux, Michael Esq NEGOTIATION26Onyama Limba
1019Francesco V SergiFrance2024-06-05Buckley Miller Wright PROPOSAL69Stephen Shaw
1020Leja L ShinkoFrance2024-06-12Feltz Printing Service UNQUALIFIED22Bernardo Dominic
1021Munro Z RutaUnited Kingdom2024-06-17Rousseaux, Michael Esq NEGOTIATION68Anna Fali
1022Isabel G NestleSpain2024-06-07Dorl, James J Esq QUALIFIED34Bernardo Dominic
1023Wickens A GarufiSpain2024-06-08Dorl, James J Esq PROPOSAL97Amy Elsner
1024Francesco L MorascaArgentina2024-05-26King, Christopher A Esq NEGOTIATION55Stephen Shaw
1025Aruna H OstroskyRussia2024-06-10Truhlar And Truhlar Attys RENEWAL41Amy Elsner
1026Arvin P IturbideAustralia2024-06-13Truhlar And Truhlar Attys NEW53Anna Fali
1027Jennifer C NickaAustralia2024-05-28Rangoni Of Florence PROPOSAL58Amy Elsner
1028Claire Q VocelkaRussia2024-05-23Printing Dimensions NEW33Bernardo Dominic
1029Jefferson Y VenereItaly2024-06-12Feltz Printing Service NEW25Asiya Javayant
1030Aditya K BologniaUnited Kingdom2024-06-16Feltz Printing Service PROPOSAL91Stephen Shaw
1031Chavez B FerenczBrazil2024-06-04Feiner Bros RENEWAL14Ioni Bowcher
1032Murillo X PaprockiItaly2024-06-11Rangoni Of Florence UNQUALIFIED79Elwin Sharvill
1033Maisha B CampainBrazil2024-05-24Rangoni Of Florence NEGOTIATION78Bernardo Dominic
1034Mayumi J MorascaJapan2024-06-09Truhlar And Truhlar Attys NEGOTIATION68Onyama Limba
1035Octavia N NestleItaly2024-06-04Commercial Press NEGOTIATION6Onyama Limba
1036Emily F TollnerAustralia2024-06-02Benton, John B Jr PROPOSAL51Anna Fali
1037Morrow X GlickItaly2024-05-30Feltz Printing Service NEGOTIATION20Ioni Bowcher
1038Jones C CaudyArgentina2024-06-15Dorl, James J Esq QUALIFIED21Onyama Limba
1039Juan X ChuiIndia2024-06-14Printing Dimensions QUALIFIED80Xuxue Feng
1040Antonio A PerinAustralia2024-06-15Chapman, Ross E Esq PROPOSAL24Stephen Shaw
1041Jennifer W SchemmerSpain2024-06-02Truhlar And Truhlar Attys UNQUALIFIED72Xuxue Feng
1042James S NickaGermany2024-06-14Feltz Printing Service NEW87Amy Elsner
1043Maisha U MorascaIndia2024-05-24Feltz Printing Service RENEWAL68Ivan Magalhaes
1044Isabel Y WaycottGermany2024-06-11Chanay, Jeffrey A Esq QUALIFIED17Asiya Javayant
1045Jefferson G DoeSpain2024-06-03King, Christopher A Esq NEW76Amy Elsner
1046Sinclair L NickaIndia2024-06-03King, Christopher A Esq PROPOSAL97Stephen Shaw
1047Isabel Y FigeroaCanada2024-06-12Chanay, Jeffrey A Esq NEW99Onyama Limba
1048Costa V PerinIndia2024-06-14Commercial Press NEGOTIATION3Elwin Sharvill
1049Claire X ShinkoGermany2024-06-02Rangoni Of Florence NEW89Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Claire D RoysterSpainAnna Fali RENEWAL
Arvin C TollnerBrazilXuxue Feng RENEWAL
James W OldroydRussiaOnyama Limba UNQUALIFIED
Leon W RutaAustraliaOnyama Limba UNQUALIFIED
Murillo F MacleadCanadaIoni Bowcher NEGOTIATION
Francesco P DarakjyCanadaElwin Sharvill QUALIFIED
Maria D StensethIndiaXuxue Feng PROPOSAL
Sinclair O CaudyJapanBernardo Dominic QUALIFIED
Greenwood N CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Emily J OldroydSpainIoni Bowcher UNQUALIFIED
Kadeem B ShinkoBrazilStephen Shaw PROPOSAL
Clifford V CampainJapanAsiya Javayant UNQUALIFIED
Costa V VocelkaItalyElwin Sharvill PROPOSAL
Maria Z PerinSpainBernardo Dominic RENEWAL
Isabel G GillianBrazilBernardo Dominic QUALIFIED
Tony Q PerinAustraliaAsiya Javayant UNQUALIFIED
Faith W PerinFranceElwin Sharvill UNQUALIFIED
Juan S PaprockiCanadaBernardo Dominic UNQUALIFIED
Maria Q BowleyIndiaOnyama Limba QUALIFIED
Nicolas G NestleCanadaIvan Magalhaes UNQUALIFIED
Aika V BowleyGermanyIvan Magalhaes QUALIFIED
Wickens V FollerRussiaIoni Bowcher UNQUALIFIED
Nicolas Y WieserFranceBernardo Dominic UNQUALIFIED
Maria L FlosiJapanOnyama Limba RENEWAL
David M StensethIndiaXuxue Feng QUALIFIED
Kadeem F WaycottCanadaXuxue Feng QUALIFIED
Aditya U RutaAustraliaBernardo Dominic NEGOTIATION
Kadeem M IturbideBrazilBernardo Dominic NEGOTIATION
Johnson M OldroydRussiaAnna Fali UNQUALIFIED
Alejandro B BowleyBrazilXuxue Feng NEGOTIATION
Ricardo O AlbaresFranceBernardo Dominic RENEWAL
Adams T DilliardSpainElwin Sharvill PROPOSAL
Johnson E AlbaresCanadaOnyama Limba NEW
Wickens Y KolmetzFranceAnna Fali UNQUALIFIED
Claire Z ChuiItalyStephen Shaw UNQUALIFIED
Aika B DilliardFranceAmy Elsner NEGOTIATION
Misaki P AmigonCanadaBernardo Dominic QUALIFIED
Maisha H InouyeIndiaElwin Sharvill QUALIFIED
Nicolas N WaycottItalyElwin Sharvill NEGOTIATION
Ricardo Q RulapaughBrazilIoni Bowcher UNQUALIFIED
Johnson U MorascaAustraliaBernardo Dominic QUALIFIED
Salvatore I IturbideFranceOnyama Limba RENEWAL
Juan S StockhamJapanAmy Elsner QUALIFIED
Kaitlin G FlosiArgentinaXuxue Feng QUALIFIED
Jennifer S GlickUnited KingdomStephen Shaw RENEWAL
Salvatore Z MacleadSpainXuxue Feng PROPOSAL
Isabel U PerinAustraliaBernardo Dominic QUALIFIED
Antonio T StensethGermanyStephen Shaw PROPOSAL
Leja J MaletAustraliaAnna Fali NEW
Morrow E RutaCanadaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Johnson V Albares
Isabel L Albares
Clifford L Nicka
Mayumi U Figeroa
Maria B Ruta
Maisha P Vocelka
Munro E Nicka
Cody I Amigon
Kadeem E Amigon
Leja M Caudy
Wickens R Campain
Arvin D Venere
Aika N Marrier
Jefferson U Paprocki
David R Campain
Jefferson E Ostrosky
Jeanfrancois E Sergi
Salvatore D Dilliard
Kadeem H Saylors
Salvatore A Kusko
Ivar V Venere
Ricardo P Marrier
Izzy X Kolmetz
Jones E Amigon
Ricardo C Rim
Silvio F Iturbide
Ashley P Tollner
Mayumi F Shinko
Ivar X Albares
Chavez Q Rulapaugh
Isabel V Doe
Claire L Perin
Alejandro Z Ostrosky
Greenwood R Sergi
Maria B Ferencz
David T Glick
Misaki U Sergi
Adams C Shinko
Kadeem Q Bowley
Francesco U Briddick
Jeanfrancois Z Saylors
Mujtaba S Ruta
Alejandro A Waycott
Maisha Y Oldroyd
James C Venere
Misaki P Foller
Jefferson S Tollner
Ricardo L Kusko
Greenwood P Albares
Darci R Whobrey
IdCountryDate
1000Australia2024-05-28
1001Argentina2024-06-06
1002Japan2024-06-14
1003Italy2024-06-12
1004Italy2024-06-13
1005Japan2024-05-20
1006Spain2024-05-29
1007Canada2024-05-25
1008Australia2024-06-05
1009Italy2024-06-12
1010Argentina2024-06-01
1011Russia2024-06-10
1012Italy2024-06-09
1013Italy2024-05-28
1014France2024-06-08
1015Australia2024-05-26
1016Australia2024-06-16
1017United Kingdom2024-06-13
1018Canada2024-05-20
1019Russia2024-06-05
1020Germany2024-06-02
1021Argentina2024-06-17
1022India2024-05-27
1023Japan2024-05-31
1024Japan2024-05-26
1025Australia2024-05-26
1026Australia2024-06-11
1027United Kingdom2024-06-07
1028Canada2024-06-15
1029Brazil2024-06-06
1030Italy2024-05-22
1031Argentina2024-06-11
1032Japan2024-05-25
1033Argentina2024-06-18
1034France2024-06-16
1035United Kingdom2024-05-29
1036India2024-05-21
1037Russia2024-06-18
1038United Kingdom2024-05-27
1039Japan2024-05-31
1040France2024-06-02
1041Russia2024-05-29
1042Australia2024-05-29
1043United Kingdom2024-06-04
1044Germany2024-06-03
1045Russia2024-05-30
1046Canada2024-05-25
1047Japan2024-06-15
1048France2024-05-27
1049Argentina2024-05-27

On-Demand Data

NameIdCountryDate
Mayumi P Perin1000Japan2024-06-08
Leja O Venere1001Germany2024-06-12
Francesco L Bowley1002Brazil2024-06-13
Juan S Gaucho1003Brazil2024-06-02
Francesco Q Caldarera1004Germany2024-05-21
James R Bowley1005Brazil2024-06-02
Smith X Butt1006Japan2024-05-25
Johnson B Tollner1007Spain2024-06-09
Francesco L Kolmetz1008United Kingdom2024-06-15
Stacey P Glick1009Russia2024-06-08
Clifford G Amigon1010Russia2024-06-05
Tony K Tollner1011United Kingdom2024-06-04
Kadeem H Royster1012France2024-06-08
Sinclair S Paprocki1013Argentina2024-06-04
Nicolas D Bolognia1014Argentina2024-05-28
Kadeem D Bolognia1015Australia2024-05-23
Izzy B Oldroyd1016India2024-05-29
Izzy P Caldarera1017Japan2024-05-20
Maria Z Shinko1018France2024-05-30
Munro O Glick1019India2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David H DilliardGermanyAmy Elsner UNQUALIFIED
Munro F DarakjyCanadaElwin Sharvill UNQUALIFIED
Silvio S FigeroaGermanyAmy Elsner QUALIFIED
Octavia C BowleyAustraliaAnna Fali NEGOTIATION
Jennifer J NestleIndiaAsiya Javayant RENEWAL
Arvin O ChuiCanadaOnyama Limba NEW
David N BriddickUnited KingdomAsiya Javayant RENEWAL
Maisha F SlusarskiItalyElwin Sharvill NEW
Kaitlin N GauchoGermanyBernardo Dominic QUALIFIED
Rodrigues K MarrierCanadaIvan Magalhaes PROPOSAL
Maria F WhobreyCanadaOnyama Limba PROPOSAL
Costa C BriddickSpainAsiya Javayant UNQUALIFIED
Ivar O MarrierUnited KingdomAmy Elsner UNQUALIFIED
Wickens Z MaletBrazilAmy Elsner RENEWAL
Kadeem N NestleAustraliaAmy Elsner RENEWAL
Maisha F PaprockiFranceAnna Fali UNQUALIFIED
David V OldroydFranceElwin Sharvill QUALIFIED
Adams A CampainAustraliaXuxue Feng PROPOSAL
Wickens F StensethArgentinaStephen Shaw QUALIFIED
Aditya E GauchoRussiaBernardo Dominic UNQUALIFIED
Adams Y OstroskyAustraliaIoni Bowcher NEW
Jeanfrancois Z AlbaresJapanIvan Magalhaes NEGOTIATION
Jones A IturbideBrazilAnna Fali NEGOTIATION
Sinclair D FlosiItalyOnyama Limba NEW
Nicolas Z FigeroaUnited KingdomXuxue Feng NEGOTIATION
Misaki N MaletUnited KingdomIvan Magalhaes NEW
Kadeem U DarakjyBrazilAnna Fali RENEWAL
Tony I GlickBrazilIoni Bowcher NEW
Leja G RulapaughAustraliaAnna Fali RENEWAL
Smith X OldroydSpainOnyama Limba NEW
Stacey T WaycottFranceIoni Bowcher RENEWAL
Leja V MorascaSpainAsiya Javayant RENEWAL
Morrow N IturbideAustraliaXuxue Feng RENEWAL
Mayumi M KuskoUnited KingdomOnyama Limba NEW
Arvin K KolmetzJapanStephen Shaw PROPOSAL
Aika Y KuskoCanadaBernardo Dominic PROPOSAL
Stacey V OldroydArgentinaOnyama Limba NEGOTIATION
Juan G RutaCanadaAnna Fali QUALIFIED
Ricardo H IturbideSpainXuxue Feng PROPOSAL
Ivar U BologniaGermanyBernardo Dominic 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>