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
Aika J ShinkoCanadaIoni Bowcher PROPOSAL
Chavez T ShinkoSpainIvan Magalhaes UNQUALIFIED
Isabel S PerinIndiaElwin Sharvill PROPOSAL
Izzy F BowleyIndiaStephen Shaw QUALIFIED
David Z GauchoJapanAmy Elsner RENEWAL
Jefferson S MaletGermanyOnyama Limba NEGOTIATION
Costa T WaycottCanadaElwin Sharvill RENEWAL
Juan J AmigonArgentinaElwin Sharvill RENEWAL
Arvin W SaylorsArgentinaIoni Bowcher NEGOTIATION
Izzy Q FollerFranceAsiya Javayant UNQUALIFIED
Salvatore E RoysterArgentinaAsiya Javayant PROPOSAL
Murillo I BriddickBrazilAmy Elsner NEW
Emily J RoysterSpainAsiya Javayant QUALIFIED
Greenwood S SergiGermanyAmy Elsner PROPOSAL
Wickens A ShinkoJapanIvan Magalhaes PROPOSAL
Isabel U StockhamGermanyXuxue Feng QUALIFIED
Aditya W WieserItalyAmy Elsner QUALIFIED
Julie I SergiItalyBernardo Dominic UNQUALIFIED
Ashley P BologniaFranceAnna Fali NEGOTIATION
Juan W VocelkaCanadaStephen Shaw NEGOTIATION
Sinclair Z GillianRussiaIoni Bowcher NEGOTIATION
Arvin H VenereUnited KingdomOnyama Limba UNQUALIFIED
Ashley H VocelkaAustraliaOnyama Limba UNQUALIFIED
Ivar L FerenczRussiaIvan Magalhaes NEW
Ivar P InouyeCanadaIvan Magalhaes RENEWAL
Octavia J AmigonCanadaStephen Shaw UNQUALIFIED
James K SlusarskiItalyAsiya Javayant UNQUALIFIED
Julie S MarrierArgentinaIoni Bowcher NEGOTIATION
Greenwood O CampainGermanyStephen Shaw NEGOTIATION
Nicolas D AlbaresRussiaAmy Elsner PROPOSAL
Jones U FigeroaAustraliaAsiya Javayant NEGOTIATION
Stacey O KuskoAustraliaAmy Elsner NEW
Tony H MaletUnited KingdomIoni Bowcher RENEWAL
Johnson N PerinJapanXuxue Feng UNQUALIFIED
Mujtaba H NestleBrazilStephen Shaw NEGOTIATION
Greenwood E RoysterUnited KingdomIoni Bowcher QUALIFIED
Chavez R GarufiSpainAmy Elsner UNQUALIFIED
Alejandro F OstroskySpainXuxue Feng UNQUALIFIED
Munro Q GillianIndiaIoni Bowcher PROPOSAL
Jennifer R KuskoRussiaStephen Shaw RENEWAL
Jennifer N DilliardBrazilBernardo Dominic RENEWAL
Darci U RutaRussiaAmy Elsner PROPOSAL
Aruna K AlbaresGermanyAmy Elsner QUALIFIED
Clifford H TollnerUnited KingdomOnyama Limba NEW
Clifford Y ButtIndiaStephen Shaw RENEWAL
Izzy A RoysterCanadaBernardo Dominic RENEWAL
Johnson J PaprockiItalyElwin Sharvill NEW
Smith O ButtRussiaAsiya Javayant NEGOTIATION
Rodrigues M OldroydSpainElwin Sharvill UNQUALIFIED
James F GarufiIndiaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki Y VenereSpainElwin Sharvill NEGOTIATION
Isabel G SaylorsIndiaIoni Bowcher QUALIFIED
Wickens G WhobreySpainIoni Bowcher QUALIFIED
Aruna Q NestleItalyStephen Shaw RENEWAL
Leja T KolmetzIndiaAmy Elsner RENEWAL
Ivar B SergiGermanyXuxue Feng UNQUALIFIED
Morrow U MaletFranceIvan Magalhaes UNQUALIFIED
Leon W InouyeJapanXuxue Feng PROPOSAL
Greenwood V InouyeBrazilIvan Magalhaes NEGOTIATION
Silvio T DilliardBrazilIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony Z RulapaughCanada2025-04-11Commercial Press RENEWAL44Onyama Limba
1001Maisha V SaylorsItaly2025-04-02Chapman, Ross E Esq NEGOTIATION2Amy Elsner
1002Octavia R MacleadArgentina2025-04-08Truhlar And Truhlar Attys QUALIFIED24Elwin Sharvill
1003Jeanfrancois T PaprockiBrazil2025-04-26Commercial Press UNQUALIFIED98Xuxue Feng
1004Antonio U InouyeSpain2025-04-27Chemel, James L Cpa RENEWAL47Asiya Javayant
1005Adams P FlosiUnited Kingdom2025-04-05Chanay, Jeffrey A Esq NEW43Ivan Magalhaes
1006Kaitlin X GauchoJapan2025-04-10King, Christopher A Esq QUALIFIED28Amy Elsner
1007Arvin J MaletJapan2025-04-07Feiner Bros QUALIFIED32Xuxue Feng
1008Misaki Q SergiJapan2025-04-09Morlong Associates NEW46Bernardo Dominic
1009Ricardo N MaletRussia2025-04-25Rangoni Of Florence PROPOSAL73Onyama Limba
1010Emily Y GarufiJapan2025-04-26Morlong Associates UNQUALIFIED14Asiya Javayant
1011Johnson U DilliardJapan2025-04-11Rangoni Of Florence RENEWAL35Xuxue Feng
1012Isabel C DarakjySpain2025-04-15Dorl, James J Esq NEW93Onyama Limba
1013Aruna K OldroydUnited Kingdom2025-04-12Morlong Associates NEW20Anna Fali
1014Kaitlin B PaprockiJapan2025-04-16Dorl, James J Esq PROPOSAL47Onyama Limba
1015Stacey H FollerJapan2025-04-23Chapman, Ross E Esq NEGOTIATION36Bernardo Dominic
1016Murillo B AmigonRussia2025-04-04Truhlar And Truhlar Attys PROPOSAL54Elwin Sharvill
1017Antonio A GarufiRussia2025-04-16Rangoni Of Florence NEGOTIATION19Ivan Magalhaes
1018David W CaldareraItaly2025-04-12Rangoni Of Florence UNQUALIFIED97Anna Fali
1019Misaki F GauchoSpain2025-04-17Feiner Bros QUALIFIED86Elwin Sharvill
1020Ricardo F OldroydItaly2025-04-12Feiner Bros RENEWAL96Amy Elsner
1021Silvio T NickaSpain2025-04-30Rangoni Of Florence QUALIFIED19Anna Fali
1022Greenwood M WieserAustralia2025-04-05Chanay, Jeffrey A Esq NEGOTIATION65Anna Fali
1023Morrow R StensethAustralia2025-04-23Feltz Printing Service NEGOTIATION0Bernardo Dominic
1024Costa H AlbaresCanada2025-04-12Truhlar And Truhlar Attys RENEWAL2Elwin Sharvill
1025Aditya L StensethCanada2025-04-30Rangoni Of Florence NEW35Bernardo Dominic
1026Octavia B FerenczAustralia2025-04-22Chapman, Ross E Esq NEW79Amy Elsner
1027David H AlbaresGermany2025-04-01Morlong Associates QUALIFIED25Asiya Javayant
1028Chavez V SaylorsUnited Kingdom2025-04-13Rousseaux, Michael Esq NEGOTIATION55Ivan Magalhaes
1029Antonio P StockhamItaly2025-04-28Chanay, Jeffrey A Esq RENEWAL48Bernardo Dominic
1030Clifford S RoysterBrazil2025-04-18Buckley Miller Wright UNQUALIFIED41Ioni Bowcher
1031Wickens M InouyeIndia2025-04-26Chemel, James L Cpa NEGOTIATION52Stephen Shaw
1032Kadeem V FollerGermany2025-04-04Truhlar And Truhlar Attys PROPOSAL63Ioni Bowcher
1033Murillo W NickaItaly2025-04-20Truhlar And Truhlar Attys RENEWAL45Elwin Sharvill
1034Julie S MorascaSpain2025-04-14Feiner Bros PROPOSAL3Onyama Limba
1035Ricardo K ShinkoRussia2025-04-20Benton, John B Jr RENEWAL21Onyama Limba
1036Isabel E WieserArgentina2025-04-16Chanay, Jeffrey A Esq QUALIFIED40Stephen Shaw
1037Aruna C FigeroaFrance2025-04-10Morlong Associates UNQUALIFIED37Ivan Magalhaes
1038Salvatore X OldroydFrance2025-04-02Truhlar And Truhlar Attys RENEWAL85Xuxue Feng
1039Ricardo V FigeroaSpain2025-04-01Morlong Associates NEW54Anna Fali
1040Leon F BowleyFrance2025-04-08Truhlar And Truhlar Attys RENEWAL85Onyama Limba
1041Wickens P WaycottUnited Kingdom2025-04-26Benton, John B Jr NEW12Xuxue Feng
1042Darci Q StockhamUnited Kingdom2025-04-23Rangoni Of Florence PROPOSAL63Bernardo Dominic
1043Mayumi M RimFrance2025-04-21Feiner Bros UNQUALIFIED90Onyama Limba
1044Darci M GauchoSpain2025-04-23Dorl, James J Esq NEGOTIATION26Stephen Shaw
1045Jeanfrancois G IturbideSpain2025-04-11Printing Dimensions NEGOTIATION75Ioni Bowcher
1046Cody J SchemmerSpain2025-04-28Commercial Press RENEWAL15Elwin Sharvill
1047Arvin K BologniaArgentina2025-04-29Truhlar And Truhlar Attys UNQUALIFIED58Ioni Bowcher
1048Smith Y BowleyItaly2025-04-20Morlong Associates NEW72Amy Elsner
1049Johnson D SergiBrazil2025-04-10King, Christopher A Esq PROPOSAL64Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba K MacleadSpainIoni Bowcher QUALIFIED
Claire V NestleArgentinaIoni Bowcher NEW
Isabel G VocelkaSpainIoni Bowcher NEW
Isabel H FollerFranceBernardo Dominic NEW
Johnson X DoeUnited KingdomAnna Fali NEW
James R BowleyIndiaIvan Magalhaes QUALIFIED
Antonio O CaldareraUnited KingdomAmy Elsner NEW
Jones O FlosiArgentinaAnna Fali QUALIFIED
Octavia G AmigonGermanyAmy Elsner UNQUALIFIED
Wickens X MarrierArgentinaIvan Magalhaes QUALIFIED
Deepesh V PaprockiCanadaXuxue Feng NEGOTIATION
Aruna G StockhamBrazilIoni Bowcher NEW
Ricardo H KolmetzIndiaElwin Sharvill UNQUALIFIED
Morrow B RulapaughItalyOnyama Limba PROPOSAL
Silvio K VocelkaIndiaAnna Fali RENEWAL
Smith H StockhamRussiaBernardo Dominic QUALIFIED
Silvio N MorascaFranceOnyama Limba NEW
Chavez X FigeroaItalyBernardo Dominic NEGOTIATION
Arvin G WieserFranceBernardo Dominic PROPOSAL
Aruna B SaylorsFranceStephen Shaw NEGOTIATION
Jennifer X KolmetzAustraliaOnyama Limba PROPOSAL
David Q AmigonFranceAmy Elsner RENEWAL
Mujtaba Y GauchoGermanyAsiya Javayant NEGOTIATION
Wickens O GarufiSpainAmy Elsner QUALIFIED
Ashley D RoysterSpainElwin Sharvill PROPOSAL
Faith N VenereGermanyAsiya Javayant PROPOSAL
Octavia Q IturbideRussiaStephen Shaw RENEWAL
Nicolas P PaprockiFranceStephen Shaw NEW
Emily N DilliardUnited KingdomAmy Elsner NEW
Clifford H MorascaGermanyAsiya Javayant PROPOSAL
Salvatore F GauchoFranceOnyama Limba UNQUALIFIED
Sinclair P WieserGermanyAnna Fali NEW
Leon Y RulapaughGermanyIoni Bowcher RENEWAL
Arvin W SaylorsBrazilAsiya Javayant NEGOTIATION
Morrow Z GarufiArgentinaAmy Elsner NEGOTIATION
Aditya D SaylorsIndiaElwin Sharvill RENEWAL
Aditya F ShinkoItalyAnna Fali NEW
Johnson B WhobreyArgentinaAnna Fali UNQUALIFIED
Sinclair Y ChuiJapanAsiya Javayant QUALIFIED
Munro H DoeJapanAnna Fali NEGOTIATION
Smith Q OstroskyItalyBernardo Dominic RENEWAL
Julie J RulapaughUnited KingdomIvan Magalhaes QUALIFIED
Jones M SchemmerRussiaBernardo Dominic QUALIFIED
Isabel P NickaIndiaIoni Bowcher NEGOTIATION
Darci R FerenczAustraliaStephen Shaw QUALIFIED
Octavia U ButtItalyBernardo Dominic UNQUALIFIED
Clifford L SlusarskiCanadaIvan Magalhaes UNQUALIFIED
Francesco D SchemmerUnited KingdomIoni Bowcher UNQUALIFIED
Mayumi J FigeroaAustraliaAsiya Javayant QUALIFIED
Izzy P PaprockiCanadaBernardo Dominic NEGOTIATION
Frozen Columns
Name
Johnson R Caldarera
Isabel Y Oldroyd
Claire O Kusko
Arvin Y Morasca
Ivar E Oldroyd
Nicolas Q Bolognia
Adams Q Ostrosky
Wickens P Foller
Jefferson Y Schemmer
Munro J Butt
Darci S Bolognia
Aika I Campain
Claire V Saylors
Ashley W Caudy
David C Albares
Francesco X Saylors
Smith J Kolmetz
Isabel F Chui
Jones I Caudy
Smith P Dilliard
Aruna D Figeroa
Julie O Nestle
Faith T Maclead
Mayumi L Vocelka
Ashley T Shinko
Adams L Stenseth
Alejandro E Maclead
Francesco W Venere
Wickens A Glick
Wickens P Chui
Johnson V Inouye
Sinclair C Schemmer
Leon X Stockham
Salvatore X Perin
Maisha K Chui
Munro L Briddick
Murillo L Vocelka
Ricardo F Bolognia
Jefferson C Rulapaugh
Aditya K Rim
Jones D Sergi
Cody I Inouye
Munro V Figeroa
Misaki X Marrier
Salvatore Y Schemmer
James W Gillian
David N Amigon
Jennifer V Waycott
Stacey Z Iturbide
Leon F Flosi
IdCountryDate
1000Argentina2025-04-15
1001Japan2025-04-06
1002Canada2025-04-16
1003France2025-04-02
1004Brazil2025-04-16
1005Japan2025-04-12
1006Italy2025-04-19
1007India2025-04-03
1008Australia2025-04-24
1009Japan2025-04-26
1010Argentina2025-04-15
1011Spain2025-04-26
1012Brazil2025-04-09
1013Germany2025-04-07
1014Italy2025-04-07
1015Brazil2025-04-18
1016Germany2025-04-10
1017Brazil2025-04-24
1018Australia2025-04-28
1019United Kingdom2025-04-11
1020Canada2025-04-26
1021Russia2025-04-27
1022United Kingdom2025-04-28
1023Brazil2025-04-23
1024Japan2025-04-07
1025Japan2025-04-21
1026India2025-04-22
1027Argentina2025-04-21
1028Australia2025-04-04
1029Australia2025-04-13
1030France2025-04-24
1031United Kingdom2025-04-23
1032Canada2025-04-03
1033India2025-04-07
1034Russia2025-04-30
1035Germany2025-04-12
1036India2025-04-02
1037France2025-04-02
1038France2025-04-03
1039Spain2025-04-12
1040Argentina2025-04-14
1041Germany2025-04-06
1042United Kingdom2025-04-10
1043Canada2025-04-06
1044India2025-04-12
1045Argentina2025-04-08
1046Argentina2025-04-30
1047India2025-04-19
1048Italy2025-04-18
1049Brazil2025-04-15

On-Demand Data

NameIdCountryDate
Clifford G Shinko1000Australia2025-04-27
Octavia M Gaucho1001France2025-04-22
Francesco Y Maclead1002France2025-04-19
Sinclair G Saylors1003Brazil2025-04-03
Tony Y Caldarera1004Brazil2025-04-14
Kaitlin D Rim1005Australia2025-04-05
Morrow L Tollner1006Argentina2025-04-01
Johnson F Caudy1007Russia2025-04-19
Costa L Albares1008Spain2025-04-29
Costa K Kolmetz1009Germany2025-04-24
Francesco N Caldarera1010Spain2025-04-12
James I Glick1011Germany2025-04-05
Cody E Venere1012India2025-04-20
Stacey I Wieser1013India2025-04-24
Alejandro D Ruta1014Canada2025-04-16
Maisha U Oldroyd1015Argentina2025-04-02
Mujtaba Y Poquette1016Canada2025-04-16
Ivar U Saylors1017Brazil2025-04-01
Adams R Glick1018Australia2025-04-23
Greenwood I Tollner1019Russia2025-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel D ButtFranceOnyama Limba UNQUALIFIED
Costa C BologniaItalyAnna Fali UNQUALIFIED
Sinclair Z FlosiItalyStephen Shaw NEW
Munro O NickaBrazilAsiya Javayant UNQUALIFIED
Misaki E RoysterArgentinaIoni Bowcher UNQUALIFIED
Misaki T GauchoArgentinaIoni Bowcher UNQUALIFIED
Mujtaba E IturbideUnited KingdomStephen Shaw PROPOSAL
Salvatore N VenereJapanAnna Fali RENEWAL
Alejandro J MaletCanadaStephen Shaw NEW
Kaitlin D VenereFranceOnyama Limba RENEWAL
Octavia N BologniaJapanAmy Elsner UNQUALIFIED
Emily T SchemmerFranceIvan Magalhaes PROPOSAL
Juan G KolmetzRussiaStephen Shaw RENEWAL
Rodrigues U RoysterArgentinaBernardo Dominic QUALIFIED
Maisha F SchemmerSpainXuxue Feng NEW
Mujtaba S FollerAustraliaIoni Bowcher UNQUALIFIED
Johnson X GarufiSpainBernardo Dominic NEW
Claire O PaprockiRussiaElwin Sharvill NEW
Stacey U VenereJapanAsiya Javayant UNQUALIFIED
Morrow S WhobreyIndiaIoni Bowcher RENEWAL
Izzy Z DarakjyAustraliaOnyama Limba RENEWAL
Arvin H InouyeIndiaXuxue Feng NEW
Francesco B DilliardSpainElwin Sharvill NEGOTIATION
Antonio S MaletGermanyIvan Magalhaes UNQUALIFIED
Izzy J CampainCanadaElwin Sharvill RENEWAL
Aika P ButtCanadaAsiya Javayant NEGOTIATION
Maria X RoysterFranceStephen Shaw RENEWAL
Faith K CaudyJapanElwin Sharvill RENEWAL
Emily Y FigeroaItalyAmy Elsner RENEWAL
Aruna H CaudyIndiaStephen Shaw PROPOSAL
Darci W NestleJapanOnyama Limba PROPOSAL
Alejandro F DoeGermanyOnyama Limba RENEWAL
Morrow R TollnerFranceAnna Fali PROPOSAL
Antonio D FlosiAustraliaOnyama Limba UNQUALIFIED
Mayumi C SlusarskiIndiaBernardo Dominic QUALIFIED
Izzy P RimFranceIvan Magalhaes NEGOTIATION
Kaitlin U BriddickItalyAmy Elsner UNQUALIFIED
Johnson B BologniaRussiaOnyama Limba UNQUALIFIED
Octavia Q WaycottArgentinaAsiya Javayant QUALIFIED
Jefferson A BowleyFranceXuxue Feng NEGOTIATION

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