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
Aruna E FollerSpainIoni Bowcher RENEWAL
Silvio Y SaylorsBrazilIoni Bowcher UNQUALIFIED
Salvatore I FigeroaFranceElwin Sharvill UNQUALIFIED
Sinclair M MarrierJapanOnyama Limba NEGOTIATION
James K AlbaresCanadaAmy Elsner RENEWAL
Izzy K VocelkaItalyIoni Bowcher RENEWAL
Munro L KolmetzIndiaElwin Sharvill QUALIFIED
Aruna I VenereIndiaAnna Fali NEW
David L RoysterAustraliaAsiya Javayant RENEWAL
Octavia P PaprockiAustraliaBernardo Dominic NEW
Kadeem T KolmetzFranceXuxue Feng UNQUALIFIED
Alejandro G SergiFranceAmy Elsner NEGOTIATION
Arvin C StensethSpainAnna Fali NEGOTIATION
Jeanfrancois Y BologniaSpainAnna Fali NEGOTIATION
James A VocelkaFranceIvan Magalhaes UNQUALIFIED
Clifford B DarakjyAustraliaXuxue Feng NEW
Maisha S StensethFranceElwin Sharvill QUALIFIED
Costa E GlickAustraliaXuxue Feng NEGOTIATION
Aditya K AlbaresItalyIoni Bowcher NEW
Octavia S GauchoArgentinaElwin Sharvill UNQUALIFIED
Aditya F KolmetzAustraliaAsiya Javayant RENEWAL
Kadeem Q SchemmerGermanyAnna Fali RENEWAL
Jeanfrancois V BowleyUnited KingdomStephen Shaw PROPOSAL
Johnson U GlickUnited KingdomElwin Sharvill PROPOSAL
Julie N SaylorsIndiaBernardo Dominic QUALIFIED
Jones K CampainArgentinaXuxue Feng UNQUALIFIED
Chavez R StockhamAustraliaIoni Bowcher RENEWAL
Julie T StensethGermanyOnyama Limba NEGOTIATION
Izzy V WaycottGermanyIvan Magalhaes RENEWAL
Aruna H FigeroaCanadaOnyama Limba NEGOTIATION
Faith T FerenczBrazilIoni Bowcher PROPOSAL
Tony I InouyeUnited KingdomStephen Shaw NEGOTIATION
Salvatore W ShinkoGermanyAnna Fali NEGOTIATION
Chavez I TollnerIndiaAsiya Javayant PROPOSAL
Octavia F CaldareraGermanyIoni Bowcher NEW
Julie D CampainArgentinaXuxue Feng RENEWAL
Nicolas N VocelkaSpainElwin Sharvill UNQUALIFIED
Octavia G WhobreyArgentinaXuxue Feng NEW
Antonio M DarakjyIndiaAnna Fali NEGOTIATION
Claire X NestleAustraliaIoni Bowcher QUALIFIED
Jeanfrancois Y SaylorsJapanIvan Magalhaes QUALIFIED
Murillo Z GillianRussiaStephen Shaw NEGOTIATION
Kadeem G WieserFranceIvan Magalhaes NEGOTIATION
Wickens K SergiIndiaAsiya Javayant PROPOSAL
Ivar Y WhobreyBrazilXuxue Feng NEW
Isabel E PerinIndiaStephen Shaw RENEWAL
Chavez C FollerItalyElwin Sharvill UNQUALIFIED
Francesco C KuskoAustraliaIoni Bowcher NEW
Leon N KuskoGermanyElwin Sharvill QUALIFIED
Jennifer U BriddickGermanyAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Kaitlin M KuskoFranceIvan Magalhaes PROPOSAL
Sinclair E PaprockiBrazilAsiya Javayant UNQUALIFIED
Adams G MorascaSpainStephen Shaw NEGOTIATION
Ricardo C VenereGermanyAnna Fali NEGOTIATION
Alejandro Y PaprockiIndiaIvan Magalhaes QUALIFIED
Darci B InouyeAustraliaBernardo Dominic NEW
Munro P RutaIndiaIvan Magalhaes NEGOTIATION
Murillo D TollnerAustraliaAmy Elsner RENEWAL
Sinclair E VocelkaJapanOnyama Limba UNQUALIFIED
Ricardo K BriddickBrazilOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair L WieserAustralia2024-05-12Truhlar And Truhlar Attys NEW96Anna Fali
1001Mayumi Z CaudySpain2024-04-28Chanay, Jeffrey A Esq NEW53Xuxue Feng
1002Silvio D OldroydItaly2024-04-28Commercial Press NEW36Ivan Magalhaes
1003James H OstroskyAustralia2024-05-14Buckley Miller Wright UNQUALIFIED9Anna Fali
1004Stacey F SchemmerJapan2024-05-11Feltz Printing Service RENEWAL62Ivan Magalhaes
1005Mujtaba P MaletBrazil2024-05-02Benton, John B Jr RENEWAL89Ivan Magalhaes
1006Jennifer Z KolmetzIndia2024-05-12Rangoni Of Florence PROPOSAL51Stephen Shaw
1007Emily Y MorascaBrazil2024-05-04Commercial Press UNQUALIFIED86Amy Elsner
1008Clifford F MaletFrance2024-05-01Buckley Miller Wright NEGOTIATION88Stephen Shaw
1009Chavez Y CaudyBrazil2024-05-09Rousseaux, Michael Esq NEW57Asiya Javayant
1010Adams U RulapaughGermany2024-05-04Rangoni Of Florence RENEWAL16Ivan Magalhaes
1011Claire Y ButtCanada2024-05-08Feltz Printing Service RENEWAL49Ioni Bowcher
1012Chavez V FlosiUnited Kingdom2024-05-07Rousseaux, Michael Esq PROPOSAL96Ivan Magalhaes
1013Greenwood A VenereFrance2024-05-21Printing Dimensions NEW44Elwin Sharvill
1014Izzy M RulapaughIndia2024-05-05Commercial Press UNQUALIFIED97Ioni Bowcher
1015Stacey B SaylorsGermany2024-05-06Chanay, Jeffrey A Esq NEW30Xuxue Feng
1016Morrow R ChuiJapan2024-05-21Feltz Printing Service PROPOSAL15Ioni Bowcher
1017Johnson C FollerIndia2024-05-08Dorl, James J Esq RENEWAL93Amy Elsner
1018Leja H CaudyItaly2024-04-29Benton, John B Jr UNQUALIFIED1Anna Fali
1019Claire Q FerenczSpain2024-05-03Commercial Press PROPOSAL73Anna Fali
1020Ivar M RutaRussia2024-05-01Printing Dimensions PROPOSAL95Ioni Bowcher
1021Clifford N CaudyArgentina2024-05-11Dorl, James J Esq RENEWAL74Bernardo Dominic
1022Maisha C WieserCanada2024-05-24Dorl, James J Esq NEW95Anna Fali
1023Leon T FlosiJapan2024-05-27Buckley Miller Wright RENEWAL44Anna Fali
1024Tony J VenereUnited Kingdom2024-05-05Chanay, Jeffrey A Esq QUALIFIED26Amy Elsner
1025Munro Y DilliardAustralia2024-05-02Truhlar And Truhlar Attys PROPOSAL57Xuxue Feng
1026Stacey K FerenczArgentina2024-05-16Chanay, Jeffrey A Esq NEW92Amy Elsner
1027Rodrigues Y VocelkaGermany2024-05-13Benton, John B Jr NEGOTIATION98Amy Elsner
1028Cody W CaldareraArgentina2024-05-10Dorl, James J Esq NEW69Onyama Limba
1029Jefferson F SaylorsCanada2024-04-30Morlong Associates QUALIFIED6Ioni Bowcher
1030Chavez S VocelkaGermany2024-05-23Dorl, James J Esq QUALIFIED34Amy Elsner
1031Kaitlin C CaldareraBrazil2024-05-07Truhlar And Truhlar Attys NEGOTIATION43Onyama Limba
1032Kadeem C CampainGermany2024-05-24Rousseaux, Michael Esq NEGOTIATION35Stephen Shaw
1033Rodrigues S GarufiSpain2024-05-23Morlong Associates RENEWAL6Bernardo Dominic
1034Jefferson Y CaudyJapan2024-05-21Buckley Miller Wright RENEWAL73Onyama Limba
1035Jennifer N MacleadSpain2024-05-08Printing Dimensions RENEWAL11Anna Fali
1036Antonio S InouyeItaly2024-05-13Morlong Associates NEGOTIATION36Ivan Magalhaes
1037Julie A MacleadGermany2024-05-12Rousseaux, Michael Esq QUALIFIED9Asiya Javayant
1038Jeanfrancois U WaycottArgentina2024-05-15Chapman, Ross E Esq NEGOTIATION75Elwin Sharvill
1039Antonio H BologniaSpain2024-05-25Chanay, Jeffrey A Esq NEGOTIATION78Onyama Limba
1040Kadeem E WieserBrazil2024-05-05Buckley Miller Wright RENEWAL10Anna Fali
1041Izzy B RutaSpain2024-05-27Rousseaux, Michael Esq PROPOSAL31Ioni Bowcher
1042Leon N SergiAustralia2024-05-05Chanay, Jeffrey A Esq QUALIFIED62Bernardo Dominic
1043Cody K VocelkaGermany2024-05-08Truhlar And Truhlar Attys PROPOSAL33Asiya Javayant
1044Izzy T DoeJapan2024-05-12Dorl, James J Esq RENEWAL43Elwin Sharvill
1045James T SchemmerItaly2024-05-11Printing Dimensions RENEWAL50Asiya Javayant
1046Juan I GlickItaly2024-05-08Morlong Associates PROPOSAL44Elwin Sharvill
1047Ashley F BriddickRussia2024-05-14Truhlar And Truhlar Attys PROPOSAL47Elwin Sharvill
1048Aika M AlbaresItaly2024-05-07Printing Dimensions NEW13Asiya Javayant
1049Clifford J WhobreyBrazil2024-05-12Truhlar And Truhlar Attys NEW42Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
James O CampainJapanXuxue Feng NEW
Sinclair Z TollnerCanadaXuxue Feng NEGOTIATION
Emily W VenereCanadaIoni Bowcher UNQUALIFIED
Aditya I StensethAustraliaIvan Magalhaes UNQUALIFIED
Antonio X ChuiBrazilAmy Elsner NEW
Deepesh Z CampainUnited KingdomIoni Bowcher PROPOSAL
Costa F PoquetteJapanAmy Elsner NEGOTIATION
Aika K PoquetteAustraliaIvan Magalhaes QUALIFIED
Clifford P FigeroaSpainOnyama Limba NEGOTIATION
James T ButtJapanAnna Fali RENEWAL
Kadeem Y GauchoRussiaAmy Elsner NEGOTIATION
Kaitlin T RoysterRussiaAnna Fali NEGOTIATION
Izzy E VocelkaBrazilStephen Shaw PROPOSAL
Silvio V GarufiJapanIvan Magalhaes UNQUALIFIED
Faith A FigeroaCanadaElwin Sharvill PROPOSAL
Wickens R VocelkaCanadaOnyama Limba NEGOTIATION
Mayumi H OstroskyArgentinaOnyama Limba RENEWAL
Adams W KolmetzGermanyAsiya Javayant NEGOTIATION
Murillo Z NickaFranceAmy Elsner QUALIFIED
Morrow K PoquetteJapanElwin Sharvill NEGOTIATION
Juan I StockhamRussiaIoni Bowcher QUALIFIED
Emily U IturbideJapanAsiya Javayant PROPOSAL
Deepesh L StockhamCanadaAsiya Javayant PROPOSAL
Jeanfrancois S MaletFranceIvan Magalhaes RENEWAL
Alejandro V StensethCanadaXuxue Feng NEW
Faith L GlickBrazilElwin Sharvill UNQUALIFIED
Rodrigues L OldroydAustraliaIvan Magalhaes NEW
Clifford H FerenczCanadaIvan Magalhaes UNQUALIFIED
Deepesh O WaycottIndiaIoni Bowcher PROPOSAL
Isabel S CaldareraGermanyIoni Bowcher RENEWAL
Chavez I DoeIndiaAsiya Javayant NEGOTIATION
Rodrigues U RulapaughSpainOnyama Limba QUALIFIED
Nicolas Z OldroydBrazilXuxue Feng QUALIFIED
Arvin S VocelkaGermanyXuxue Feng RENEWAL
Misaki L ChuiJapanStephen Shaw RENEWAL
Deepesh Q PerinBrazilIvan Magalhaes NEW
Darci W CaudyUnited KingdomXuxue Feng QUALIFIED
Darci W ButtArgentinaBernardo Dominic UNQUALIFIED
Nicolas K MarrierAustraliaAsiya Javayant UNQUALIFIED
Juan S WhobreyRussiaXuxue Feng QUALIFIED
Jefferson O StensethCanadaXuxue Feng QUALIFIED
Nicolas U BologniaUnited KingdomAmy Elsner NEW
Chavez M RimSpainAmy Elsner UNQUALIFIED
Antonio U MarrierCanadaElwin Sharvill QUALIFIED
Smith Q RulapaughUnited KingdomIoni Bowcher RENEWAL
Misaki J PerinRussiaAsiya Javayant PROPOSAL
Maria R BowleyGermanyAnna Fali NEW
Smith B NestleIndiaAnna Fali QUALIFIED
Cody O SchemmerFranceElwin Sharvill PROPOSAL
Kaitlin W GlickRussiaStephen Shaw QUALIFIED
Frozen Columns
Name
Emily P Poquette
Clifford Z Gillian
Chavez R Foller
Kadeem Q Gillian
Stacey Q Ostrosky
Murillo R Rulapaugh
Mayumi X Saylors
Jeanfrancois A Schemmer
Munro Z Foller
Silvio C Glick
Octavia O Flosi
David B Rulapaugh
Silvio N Bolognia
Leon O Bowley
Jennifer K Saylors
Silvio M Shinko
Leja O Figeroa
Claire J Caldarera
Ashley K Stenseth
Julie G Iturbide
Maisha S Caudy
Ashley J Rulapaugh
Nicolas D Darakjy
Maisha R Amigon
Munro H Glick
Greenwood I Flosi
Ricardo B Whobrey
Maisha K Nestle
Isabel W Albares
Ivar Y Paprocki
Tony D Iturbide
Kadeem B Marrier
Aika A Tollner
Munro K Perin
Jeanfrancois X Garufi
Maria R Slusarski
Clifford L Venere
Silvio D Malet
Faith Z Darakjy
Faith G Vocelka
Juan F Glick
Octavia E Shinko
Emily U Poquette
Alejandro Q Morasca
Juan I Darakjy
Alejandro U Perin
Stacey W Maclead
Deepesh P Flosi
Stacey W Saylors
Wickens X Bowley
IdCountryDate
1000Australia2024-05-06
1001Spain2024-05-12
1002France2024-05-13
1003India2024-05-14
1004Russia2024-05-19
1005Brazil2024-05-15
1006Japan2024-05-17
1007Germany2024-05-25
1008Italy2024-05-23
1009Canada2024-05-24
1010Argentina2024-04-28
1011Australia2024-05-17
1012Germany2024-05-08
1013United Kingdom2024-05-05
1014Brazil2024-05-10
1015Argentina2024-05-05
1016United Kingdom2024-05-16
1017Brazil2024-05-17
1018India2024-05-07
1019Italy2024-04-28
1020India2024-05-13
1021Argentina2024-05-22
1022Germany2024-05-14
1023Brazil2024-05-25
1024Canada2024-05-16
1025United Kingdom2024-05-01
1026Germany2024-05-26
1027United Kingdom2024-05-12
1028India2024-04-29
1029Japan2024-05-24
1030Argentina2024-05-18
1031Australia2024-05-11
1032Argentina2024-05-23
1033Italy2024-04-30
1034France2024-05-11
1035Spain2024-05-19
1036France2024-05-06
1037Italy2024-05-10
1038United Kingdom2024-05-21
1039Argentina2024-05-09
1040Brazil2024-04-30
1041Argentina2024-05-21
1042Spain2024-05-08
1043United Kingdom2024-05-27
1044United Kingdom2024-05-23
1045Canada2024-05-07
1046Australia2024-05-27
1047Canada2024-05-21
1048Italy2024-05-04
1049Argentina2024-05-20

On-Demand Data

NameIdCountryDate
Aika H Dilliard1000Italy2024-05-10
Emily Q Ferencz1001Russia2024-05-16
Chavez H Vocelka1002Germany2024-05-21
Octavia Q Bowley1003Japan2024-05-04
Chavez D Oldroyd1004Japan2024-05-19
Silvio A Maclead1005Australia2024-04-29
Greenwood X Shinko1006United Kingdom2024-05-05
Deepesh Z Iturbide1007Spain2024-05-18
Ashley J Wieser1008Italy2024-05-15
Izzy Q Caldarera1009India2024-04-29
Izzy A Sergi1010Germany2024-05-06
Emily W Garufi1011India2024-05-09
Munro T Vocelka1012France2024-05-22
Mayumi P Gaucho1013Brazil2024-04-29
Jennifer A Nestle1014India2024-05-03
Isabel R Wieser1015Spain2024-05-11
Juan M Figeroa1016Italy2024-05-21
Smith D Caudy1017Brazil2024-05-20
Adams Y Garufi1018France2024-05-26
Antonio F Amigon1019Brazil2024-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez I NestleSpainAnna Fali UNQUALIFIED
Ashley X RutaJapanAnna Fali RENEWAL
Stacey A GarufiUnited KingdomOnyama Limba RENEWAL
Julie I KolmetzSpainAsiya Javayant NEGOTIATION
Salvatore D InouyeCanadaBernardo Dominic QUALIFIED
Adams W FerenczGermanyIoni Bowcher UNQUALIFIED
Aruna J MaletAustraliaIoni Bowcher NEW
Leja Z GauchoRussiaAsiya Javayant NEW
Antonio B FlosiSpainAmy Elsner NEW
Costa A BriddickCanadaIvan Magalhaes NEW
Maisha T StensethBrazilAsiya Javayant QUALIFIED
Kaitlin H BriddickArgentinaBernardo Dominic PROPOSAL
Tony O RulapaughBrazilXuxue Feng PROPOSAL
Aditya E ShinkoFranceIoni Bowcher NEW
Izzy Q FigeroaJapanAnna Fali QUALIFIED
James H RutaRussiaOnyama Limba QUALIFIED
Mujtaba S KuskoFranceStephen Shaw NEGOTIATION
Alejandro O InouyeGermanyAnna Fali UNQUALIFIED
Kaitlin J GlickUnited KingdomAsiya Javayant UNQUALIFIED
Aruna I FerenczJapanStephen Shaw UNQUALIFIED
Jefferson R StockhamIndiaXuxue Feng NEGOTIATION
Jennifer M GillianItalyIvan Magalhaes PROPOSAL
Clifford C SchemmerIndiaAmy Elsner UNQUALIFIED
Isabel W RimUnited KingdomXuxue Feng NEW
Salvatore D RulapaughCanadaOnyama Limba QUALIFIED
Maria G DoeAustraliaElwin Sharvill QUALIFIED
Greenwood G WaycottRussiaAsiya Javayant UNQUALIFIED
Jennifer S NickaIndiaAsiya Javayant PROPOSAL
Tony B KuskoGermanyStephen Shaw QUALIFIED
Izzy C RutaSpainIoni Bowcher PROPOSAL
Morrow X AmigonItalyAnna Fali QUALIFIED
Nicolas O NickaSpainBernardo Dominic NEGOTIATION
Ashley C SlusarskiBrazilXuxue Feng PROPOSAL
Arvin J PaprockiIndiaAsiya Javayant NEGOTIATION
Clifford A AmigonRussiaBernardo Dominic UNQUALIFIED
Rodrigues G SergiFranceAsiya Javayant RENEWAL
Kaitlin R OstroskySpainAsiya Javayant NEW
Tony L FollerJapanAsiya Javayant PROPOSAL
Maisha J ShinkoRussiaBernardo Dominic NEGOTIATION
Murillo W RoysterSpainAmy Elsner 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>