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 Q InouyeArgentinaOnyama Limba RENEWAL
Julie C CaldareraRussiaBernardo Dominic PROPOSAL
Jeanfrancois X RulapaughFranceOnyama Limba NEGOTIATION
Kaitlin M KuskoCanadaAnna Fali QUALIFIED
Johnson D ShinkoGermanyOnyama Limba NEGOTIATION
Aika N TollnerUnited KingdomAmy Elsner RENEWAL
Aruna V NestleItalyXuxue Feng NEGOTIATION
Jefferson A ChuiAustraliaBernardo Dominic NEW
Jones E NestleAustraliaIoni Bowcher RENEWAL
Claire O NestleAustraliaOnyama Limba QUALIFIED
Francesco D PaprockiRussiaIoni Bowcher NEW
Maisha E AlbaresJapanAnna Fali UNQUALIFIED
Smith S ButtArgentinaAnna Fali PROPOSAL
Wickens X WhobreyAustraliaOnyama Limba RENEWAL
Greenwood Y CaldareraAustraliaAmy Elsner RENEWAL
Jeanfrancois H NestleArgentinaAnna Fali UNQUALIFIED
Munro R SlusarskiUnited KingdomElwin Sharvill RENEWAL
Francesco F SlusarskiBrazilIoni Bowcher QUALIFIED
Silvio A GauchoAustraliaElwin Sharvill QUALIFIED
Salvatore F IturbideGermanyIoni Bowcher UNQUALIFIED
Faith P MaletFranceXuxue Feng QUALIFIED
Murillo A RoysterGermanyAsiya Javayant NEW
Ricardo N IturbideRussiaAmy Elsner NEW
Aditya A WieserIndiaBernardo Dominic RENEWAL
Sinclair G InouyeRussiaAnna Fali PROPOSAL
Aruna R RimArgentinaBernardo Dominic RENEWAL
Aruna V SergiAustraliaXuxue Feng NEW
Aruna U FerenczSpainIvan Magalhaes RENEWAL
Juan V CampainBrazilStephen Shaw UNQUALIFIED
Leon O InouyeIndiaAnna Fali RENEWAL
Antonio E CampainSpainAsiya Javayant RENEWAL
Morrow Z OldroydGermanyElwin Sharvill NEW
Jones W GauchoBrazilIvan Magalhaes NEW
Misaki X RulapaughCanadaAsiya Javayant UNQUALIFIED
Wickens N ShinkoItalyIvan Magalhaes NEGOTIATION
Octavia D MaletJapanStephen Shaw PROPOSAL
Mujtaba M GauchoSpainAmy Elsner PROPOSAL
Kadeem H GarufiItalyAsiya Javayant NEGOTIATION
Jefferson W RulapaughFranceOnyama Limba PROPOSAL
Leja W InouyeItalyAsiya Javayant RENEWAL
Stacey T MaletSpainAsiya Javayant NEW
Maisha B SaylorsCanadaBernardo Dominic NEGOTIATION
Aruna P RimJapanOnyama Limba RENEWAL
Silvio T GlickGermanyElwin Sharvill QUALIFIED
Francesco Y WieserSpainXuxue Feng RENEWAL
Costa U SlusarskiBrazilOnyama Limba PROPOSAL
Alejandro T VocelkaGermanyElwin Sharvill RENEWAL
David Y TollnerUnited KingdomStephen Shaw NEGOTIATION
Morrow T ShinkoGermanyIoni Bowcher QUALIFIED
Aditya M RoysterBrazilOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco E SaylorsSpainAsiya Javayant QUALIFIED
Maria U PoquetteFranceBernardo Dominic UNQUALIFIED
Misaki V NickaBrazilAnna Fali NEW
Mujtaba I KuskoRussiaAnna Fali UNQUALIFIED
Salvatore T RulapaughItalyAnna Fali UNQUALIFIED
Claire E FollerFranceIoni Bowcher UNQUALIFIED
Mujtaba W NickaIndiaIoni Bowcher UNQUALIFIED
Maisha F RulapaughGermanyStephen Shaw UNQUALIFIED
Stacey L PerinGermanyAnna Fali NEGOTIATION
Jones G WhobreyAustraliaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair H OstroskyBrazil2024-06-21Morlong Associates PROPOSAL94Stephen Shaw
1001Jeanfrancois N BowleyFrance2024-06-02Truhlar And Truhlar Attys QUALIFIED15Anna Fali
1002Julie T VocelkaIndia2024-06-11Buckley Miller Wright PROPOSAL64Ioni Bowcher
1003Salvatore P ChuiAustralia2024-06-04Morlong Associates NEGOTIATION55Amy Elsner
1004Emily N NickaIndia2024-06-14Benton, John B Jr RENEWAL23Ioni Bowcher
1005Murillo M OldroydJapan2024-05-26Morlong Associates NEGOTIATION11Elwin Sharvill
1006Aika M MarrierJapan2024-06-12Feltz Printing Service NEW60Stephen Shaw
1007Darci N CaudyItaly2024-06-13Printing Dimensions QUALIFIED40Anna Fali
1008Izzy G StensethItaly2024-05-24Feltz Printing Service PROPOSAL51Ioni Bowcher
1009Kadeem S DilliardBrazil2024-06-08Chanay, Jeffrey A Esq QUALIFIED86Anna Fali
1010Rodrigues J ButtAustralia2024-06-12Feiner Bros NEGOTIATION33Elwin Sharvill
1011Salvatore H BologniaRussia2024-06-04Buckley Miller Wright QUALIFIED87Stephen Shaw
1012Kaitlin K BologniaBrazil2024-06-16Rangoni Of Florence QUALIFIED53Ivan Magalhaes
1013Mujtaba X WaycottBrazil2024-06-12Chemel, James L Cpa RENEWAL28Elwin Sharvill
1014Jeanfrancois X AmigonItaly2024-06-14King, Christopher A Esq PROPOSAL93Ioni Bowcher
1015Maria Z MaletCanada2024-06-15Benton, John B Jr NEGOTIATION72Ivan Magalhaes
1016Silvio V PoquetteAustralia2024-05-27Feiner Bros QUALIFIED7Ioni Bowcher
1017Silvio B FigeroaFrance2024-05-31Buckley Miller Wright NEW34Ivan Magalhaes
1018Alejandro K TollnerJapan2024-06-18Morlong Associates NEW99Xuxue Feng
1019Maria R StensethIndia2024-06-21Morlong Associates NEGOTIATION12Anna Fali
1020Johnson J SergiSpain2024-06-10Chanay, Jeffrey A Esq PROPOSAL1Stephen Shaw
1021Silvio T DilliardFrance2024-06-15Buckley Miller Wright QUALIFIED67Elwin Sharvill
1022Jefferson O ShinkoIndia2024-05-23Feltz Printing Service NEW73Xuxue Feng
1023Maria O WaycottGermany2024-06-20Rangoni Of Florence QUALIFIED63Stephen Shaw
1024Emily V CampainRussia2024-06-14Morlong Associates UNQUALIFIED94Ivan Magalhaes
1025Izzy O WieserGermany2024-06-18Benton, John B Jr UNQUALIFIED79Asiya Javayant
1026Ivar R StockhamArgentina2024-05-29Chemel, James L Cpa NEGOTIATION62Elwin Sharvill
1027Stacey S DilliardRussia2024-06-16Truhlar And Truhlar Attys NEW94Bernardo Dominic
1028Julie E WaycottJapan2024-06-13Rangoni Of Florence RENEWAL26Elwin Sharvill
1029Silvio Q ButtRussia2024-06-05Feiner Bros UNQUALIFIED80Asiya Javayant
1030Ashley P RulapaughSpain2024-06-06Feiner Bros NEW56Elwin Sharvill
1031Maisha J MorascaBrazil2024-06-11Rangoni Of Florence NEW53Xuxue Feng
1032Jefferson D CampainSpain2024-06-11Buckley Miller Wright QUALIFIED79Ivan Magalhaes
1033David N BowleyUnited Kingdom2024-05-27Truhlar And Truhlar Attys NEW25Xuxue Feng
1034Kadeem N StockhamGermany2024-06-10Commercial Press NEGOTIATION60Onyama Limba
1035Aditya N RutaRussia2024-06-11Dorl, James J Esq PROPOSAL38Asiya Javayant
1036Alejandro O PoquetteSpain2024-05-27Morlong Associates UNQUALIFIED36Onyama Limba
1037Ricardo Y GauchoArgentina2024-05-23Benton, John B Jr QUALIFIED48Elwin Sharvill
1038Morrow H FlosiRussia2024-05-25Buckley Miller Wright NEW35Elwin Sharvill
1039Stacey M OldroydArgentina2024-06-11Printing Dimensions NEGOTIATION17Stephen Shaw
1040Isabel M GlickIndia2024-06-01Feltz Printing Service RENEWAL13Xuxue Feng
1041Murillo B FerenczCanada2024-06-03Feiner Bros NEW17Bernardo Dominic
1042Emily R CampainUnited Kingdom2024-06-17King, Christopher A Esq NEGOTIATION33Onyama Limba
1043Antonio E RoysterFrance2024-06-01King, Christopher A Esq RENEWAL41Asiya Javayant
1044Mujtaba H SergiCanada2024-06-21Printing Dimensions NEGOTIATION98Stephen Shaw
1045Costa N AlbaresGermany2024-06-02Chapman, Ross E Esq RENEWAL65Ioni Bowcher
1046Leon K OstroskyFrance2024-06-01Morlong Associates NEGOTIATION47Ioni Bowcher
1047Misaki N CaudyUnited Kingdom2024-06-09Buckley Miller Wright UNQUALIFIED63Anna Fali
1048Tony T ButtFrance2024-05-27Chemel, James L Cpa NEGOTIATION21Anna Fali
1049Mujtaba K SchemmerSpain2024-06-12Buckley Miller Wright UNQUALIFIED53Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Smith Y BologniaCanadaIvan Magalhaes NEGOTIATION
Nicolas R SchemmerSpainOnyama Limba QUALIFIED
Jennifer K InouyeFranceStephen Shaw UNQUALIFIED
Jennifer M VenereJapanBernardo Dominic UNQUALIFIED
Octavia W SlusarskiSpainOnyama Limba RENEWAL
Clifford S MacleadBrazilAnna Fali QUALIFIED
Francesco O RimBrazilIoni Bowcher UNQUALIFIED
Leja F FollerArgentinaOnyama Limba NEW
Antonio C ChuiArgentinaOnyama Limba UNQUALIFIED
Adams I PoquetteItalyIvan Magalhaes PROPOSAL
Murillo B ChuiFranceOnyama Limba NEGOTIATION
Costa Y PoquetteUnited KingdomElwin Sharvill RENEWAL
Greenwood A MaletArgentinaBernardo Dominic QUALIFIED
Jennifer G MaletCanadaElwin Sharvill RENEWAL
Misaki D StensethRussiaElwin Sharvill NEW
Leja M WieserSpainAmy Elsner QUALIFIED
Izzy V AlbaresAustraliaXuxue Feng QUALIFIED
Silvio R BriddickIndiaIvan Magalhaes UNQUALIFIED
Rodrigues W OldroydItalyOnyama Limba NEW
Tony V WieserRussiaXuxue Feng RENEWAL
Juan W RulapaughUnited KingdomElwin Sharvill QUALIFIED
Alejandro S PerinIndiaOnyama Limba QUALIFIED
Octavia X RulapaughArgentinaXuxue Feng PROPOSAL
Leon Y SlusarskiJapanBernardo Dominic NEGOTIATION
Morrow O MaletRussiaAnna Fali UNQUALIFIED
Adams R AlbaresAustraliaElwin Sharvill UNQUALIFIED
Alejandro H PoquetteGermanyAsiya Javayant PROPOSAL
Chavez N BologniaArgentinaAmy Elsner NEW
Nicolas V ChuiCanadaXuxue Feng UNQUALIFIED
Salvatore K FlosiArgentinaOnyama Limba RENEWAL
Emily H KuskoUnited KingdomIoni Bowcher PROPOSAL
Darci Y PoquetteAustraliaAmy Elsner UNQUALIFIED
Cody Z KolmetzAustraliaOnyama Limba RENEWAL
Alejandro V MaletBrazilBernardo Dominic NEGOTIATION
Deepesh U RimGermanyAnna Fali PROPOSAL
Jefferson V GarufiGermanyAnna Fali NEGOTIATION
Sinclair Z GarufiRussiaStephen Shaw UNQUALIFIED
Ricardo V CaudySpainIvan Magalhaes UNQUALIFIED
Julie Q GillianAustraliaStephen Shaw QUALIFIED
Johnson P BologniaItalyStephen Shaw QUALIFIED
Isabel D AmigonArgentinaIoni Bowcher RENEWAL
Adams J GillianArgentinaAsiya Javayant QUALIFIED
Jeanfrancois E KuskoIndiaIoni Bowcher NEGOTIATION
Ivar X RutaAustraliaOnyama Limba NEGOTIATION
Izzy X RimCanadaOnyama Limba UNQUALIFIED
Claire O StockhamUnited KingdomOnyama Limba QUALIFIED
Aika O PerinItalyXuxue Feng QUALIFIED
Murillo V BowleyUnited KingdomStephen Shaw RENEWAL
Chavez P StockhamUnited KingdomIvan Magalhaes RENEWAL
Julie O MaletBrazilAmy Elsner UNQUALIFIED
Frozen Columns
Name
Antonio D Flosi
Sinclair O Amigon
Isabel E Wieser
Maisha E Ferencz
Clifford D Butt
Aruna E Stockham
Sinclair H Malet
Chavez E Doe
Leon Q Glick
Greenwood V Slusarski
Adams N Slusarski
Rodrigues L Gillian
Jones Z Chui
Aika K Rulapaugh
Greenwood L Campain
Tony P Rim
Arvin W Flosi
Maria U Figeroa
Francesco M Kolmetz
Rodrigues B Darakjy
Adams Q Sergi
Sinclair N Gaucho
Clifford M Iturbide
Juan O Doe
Aika E Darakjy
Salvatore K Kolmetz
Deepesh U Ruta
Faith E Nicka
Cody Y Darakjy
Maisha Z Iturbide
Maria W Vocelka
Julie G Malet
Aditya D Stenseth
Misaki N Kusko
Aika O Figeroa
Kadeem W Nicka
Sinclair H Maclead
Faith L Chui
Kadeem X Morasca
Jeanfrancois H Inouye
Juan L Schemmer
Octavia K Caldarera
Isabel U Stenseth
Aruna N Dilliard
Ashley G Royster
Francesco Z Venere
Aruna G Royster
Octavia V Slusarski
Cody O Stockham
Mujtaba X Rulapaugh
IdCountryDate
1000India2024-06-05
1001Russia2024-06-20
1002Brazil2024-05-28
1003United Kingdom2024-06-05
1004Japan2024-06-18
1005Argentina2024-05-30
1006Canada2024-06-12
1007France2024-06-16
1008India2024-05-25
1009Russia2024-06-02
1010Germany2024-05-28
1011Russia2024-05-28
1012France2024-06-14
1013Spain2024-06-18
1014Australia2024-05-23
1015United Kingdom2024-06-09
1016Australia2024-06-21
1017India2024-06-02
1018Australia2024-06-19
1019Argentina2024-06-18
1020Spain2024-05-31
1021France2024-06-21
1022Argentina2024-06-19
1023Italy2024-06-13
1024Canada2024-06-06
1025Canada2024-05-27
1026United Kingdom2024-05-25
1027Argentina2024-05-29
1028Canada2024-06-19
1029United Kingdom2024-05-27
1030United Kingdom2024-06-06
1031United Kingdom2024-06-15
1032Spain2024-06-05
1033Japan2024-06-12
1034Japan2024-06-08
1035Italy2024-06-07
1036Australia2024-06-12
1037France2024-05-30
1038Spain2024-05-29
1039Italy2024-06-02
1040Italy2024-05-30
1041Brazil2024-06-14
1042India2024-05-29
1043Japan2024-05-31
1044United Kingdom2024-06-06
1045United Kingdom2024-06-11
1046Australia2024-05-28
1047Russia2024-05-30
1048Germany2024-05-28
1049Japan2024-06-06

On-Demand Data

NameIdCountryDate
Silvio S Foller1000Russia2024-06-17
Octavia E Wieser1001Japan2024-06-08
Munro F Vocelka1002Italy2024-06-09
Salvatore Q Iturbide1003Australia2024-06-11
Cody A Stockham1004Germany2024-05-25
Stacey S Rim1005United Kingdom2024-06-08
Greenwood F Oldroyd1006Japan2024-06-17
Alejandro W Stenseth1007Brazil2024-06-01
Kadeem S Butt1008Spain2024-06-07
Chavez C Nestle1009Australia2024-06-18
Wickens K Waycott1010Canada2024-05-24
Ivar V Rulapaugh1011United Kingdom2024-06-15
Cody K Perin1012Japan2024-06-02
David L Inouye1013France2024-06-11
Octavia N Albares1014Germany2024-05-31
Deepesh S Amigon1015Australia2024-06-21
Wickens O Rim1016Spain2024-05-27
Darci L Garufi1017Brazil2024-06-06
Misaki S Caldarera1018Spain2024-06-17
Jones L Royster1019Spain2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony P FlosiCanadaBernardo Dominic PROPOSAL
Kadeem I WieserItalyStephen Shaw PROPOSAL
Wickens Y BriddickIndiaAmy Elsner UNQUALIFIED
Murillo M VocelkaArgentinaAsiya Javayant UNQUALIFIED
Aruna Z CaldareraBrazilElwin Sharvill NEGOTIATION
Aditya K KolmetzItalyIoni Bowcher PROPOSAL
Octavia L OstroskyItalyBernardo Dominic UNQUALIFIED
Ashley U WhobreyUnited KingdomAmy Elsner NEGOTIATION
Antonio D BowleyIndiaAmy Elsner PROPOSAL
James I CampainFranceXuxue Feng RENEWAL
Aika J FollerArgentinaIoni Bowcher QUALIFIED
Mayumi C VenereArgentinaAsiya Javayant PROPOSAL
Jennifer G CampainIndiaAnna Fali UNQUALIFIED
Johnson U VenereSpainBernardo Dominic QUALIFIED
Jennifer X RimJapanIoni Bowcher PROPOSAL
Kaitlin N RulapaughArgentinaAnna Fali PROPOSAL
Aditya Q DoeCanadaAsiya Javayant NEW
Emily Q FigeroaGermanyBernardo Dominic UNQUALIFIED
Mayumi R GillianIndiaStephen Shaw RENEWAL
Ivar S TollnerIndiaOnyama Limba QUALIFIED
Isabel F WieserAustraliaOnyama Limba PROPOSAL
Jeanfrancois O RoysterJapanAsiya Javayant NEW
Isabel R BologniaRussiaIoni Bowcher QUALIFIED
Jeanfrancois J WaycottAustraliaElwin Sharvill RENEWAL
James Y SlusarskiAustraliaAsiya Javayant UNQUALIFIED
Adams M BologniaRussiaAnna Fali NEW
Rodrigues J AlbaresAustraliaOnyama Limba NEW
Claire Y GarufiSpainIoni Bowcher RENEWAL
Ivar J GarufiAustraliaAmy Elsner QUALIFIED
Tony X NestleIndiaXuxue Feng UNQUALIFIED
James E NickaGermanyAsiya Javayant NEGOTIATION
Francesco J StockhamSpainOnyama Limba NEW
Stacey E RimRussiaAsiya Javayant NEGOTIATION
Maisha K CaldareraRussiaAnna Fali NEW
Jefferson J InouyeBrazilOnyama Limba NEGOTIATION
Maisha A FollerArgentinaIvan Magalhaes QUALIFIED
Jones I OldroydAustraliaIvan Magalhaes NEGOTIATION
Clifford L AlbaresCanadaStephen Shaw UNQUALIFIED
Ashley M DoeArgentinaAsiya Javayant UNQUALIFIED
Sinclair R MacleadGermanyBernardo Dominic PROPOSAL

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