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
Silvio U DilliardJapanXuxue Feng NEW
Misaki E RulapaughIndiaAnna Fali NEW
Tony L WieserBrazilBernardo Dominic UNQUALIFIED
David D NestleFranceIvan Magalhaes RENEWAL
Ashley J InouyeJapanOnyama Limba RENEWAL
David E GarufiCanadaBernardo Dominic UNQUALIFIED
Chavez Q ChuiGermanyAnna Fali PROPOSAL
Leon U StockhamSpainAsiya Javayant RENEWAL
Tony G GarufiArgentinaElwin Sharvill UNQUALIFIED
Ashley G SchemmerCanadaStephen Shaw PROPOSAL
Julie D AlbaresArgentinaAmy Elsner PROPOSAL
Kadeem I FollerFranceAnna Fali QUALIFIED
Munro N CaudyItalyOnyama Limba RENEWAL
Juan B MaletAustraliaStephen Shaw NEW
Kadeem T CaudyGermanyAmy Elsner NEW
Francesco F RoysterRussiaAsiya Javayant PROPOSAL
Sinclair G SlusarskiSpainAmy Elsner RENEWAL
Julie P CampainIndiaIvan Magalhaes QUALIFIED
Francesco T CaldareraCanadaAmy Elsner QUALIFIED
Izzy T VenereCanadaXuxue Feng NEW
Misaki B GarufiUnited KingdomXuxue Feng QUALIFIED
Munro Y GlickIndiaStephen Shaw UNQUALIFIED
Arvin L RimUnited KingdomAmy Elsner UNQUALIFIED
Leja H OstroskyArgentinaElwin Sharvill NEGOTIATION
Juan F PerinIndiaOnyama Limba NEW
Johnson G BriddickGermanyAsiya Javayant NEW
Kaitlin S CaudyArgentinaOnyama Limba PROPOSAL
Leja E SchemmerCanadaIoni Bowcher NEGOTIATION
Adams I GarufiFranceElwin Sharvill PROPOSAL
Kaitlin T RulapaughSpainElwin Sharvill UNQUALIFIED
Octavia S SergiArgentinaAsiya Javayant RENEWAL
Kaitlin A KuskoCanadaIoni Bowcher UNQUALIFIED
Claire E ShinkoAustraliaAnna Fali NEGOTIATION
Izzy L StensethGermanyOnyama Limba RENEWAL
Ashley O PaprockiJapanIoni Bowcher QUALIFIED
David T OldroydUnited KingdomXuxue Feng PROPOSAL
Emily F KolmetzBrazilIoni Bowcher NEW
Adams G FigeroaSpainStephen Shaw NEW
Francesco S CaudyUnited KingdomIoni Bowcher NEGOTIATION
Murillo A PaprockiIndiaIoni Bowcher QUALIFIED
Kaitlin W NickaIndiaAmy Elsner QUALIFIED
Murillo F DoeUnited KingdomIoni Bowcher QUALIFIED
Darci F DoeArgentinaAmy Elsner UNQUALIFIED
Kadeem S OldroydItalyOnyama Limba RENEWAL
Jennifer N TollnerCanadaIoni Bowcher NEGOTIATION
Juan W BriddickArgentinaIoni Bowcher PROPOSAL
Silvio O GarufiGermanyOnyama Limba NEW
Jennifer M RoysterJapanXuxue Feng NEGOTIATION
Juan E GillianArgentinaAmy Elsner PROPOSAL
Sinclair Z GlickArgentinaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Faith D BologniaBrazilIoni Bowcher UNQUALIFIED
Smith A WaycottJapanIvan Magalhaes UNQUALIFIED
Antonio Q KolmetzUnited KingdomAsiya Javayant NEW
Maisha Q RutaGermanyAsiya Javayant RENEWAL
Mayumi U NestleJapanAnna Fali QUALIFIED
Chavez F DoeArgentinaIoni Bowcher RENEWAL
Morrow N WhobreyUnited KingdomAsiya Javayant PROPOSAL
David O TollnerRussiaOnyama Limba QUALIFIED
Faith G SaylorsIndiaIoni Bowcher NEW
Greenwood X ButtFranceAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel N FlosiBrazil2025-05-31King, Christopher A Esq QUALIFIED32Asiya Javayant
1001Nicolas L OstroskyBrazil2025-06-12Chanay, Jeffrey A Esq NEW48Onyama Limba
1002Isabel R DoeIndia2025-06-11Morlong Associates QUALIFIED21Elwin Sharvill
1003Maria U GlickBrazil2025-06-11Chanay, Jeffrey A Esq NEW53Amy Elsner
1004Isabel K CampainFrance2025-06-07King, Christopher A Esq UNQUALIFIED80Ioni Bowcher
1005Aika O MorascaCanada2025-06-10Truhlar And Truhlar Attys NEGOTIATION57Anna Fali
1006Kaitlin L RimGermany2025-05-17Chapman, Ross E Esq UNQUALIFIED81Bernardo Dominic
1007Smith H AlbaresSpain2025-06-03Rangoni Of Florence NEGOTIATION68Elwin Sharvill
1008Deepesh W SergiItaly2025-05-22Feltz Printing Service UNQUALIFIED20Ivan Magalhaes
1009Costa T RoysterFrance2025-05-30Chanay, Jeffrey A Esq UNQUALIFIED8Ioni Bowcher
1010Juan D WaycottCanada2025-05-31Chanay, Jeffrey A Esq NEW71Anna Fali
1011Darci S SergiRussia2025-06-04Printing Dimensions RENEWAL74Amy Elsner
1012Claire U ButtArgentina2025-06-08Rangoni Of Florence UNQUALIFIED32Xuxue Feng
1013Maria B AlbaresFrance2025-06-03Chapman, Ross E Esq NEGOTIATION57Xuxue Feng
1014Chavez S MorascaFrance2025-05-17Feltz Printing Service UNQUALIFIED26Ioni Bowcher
1015Chavez L SchemmerRussia2025-06-02Rangoni Of Florence NEW42Xuxue Feng
1016Cody W GlickSpain2025-05-17Feltz Printing Service QUALIFIED40Asiya Javayant
1017Silvio M GlickArgentina2025-06-11Chemel, James L Cpa RENEWAL74Ivan Magalhaes
1018Maisha H KuskoGermany2025-06-05Feltz Printing Service UNQUALIFIED31Onyama Limba
1019Wickens X KolmetzRussia2025-05-22Buckley Miller Wright NEGOTIATION68Xuxue Feng
1020James K IturbideAustralia2025-05-31Commercial Press RENEWAL91Onyama Limba
1021Aika U DilliardUnited Kingdom2025-05-31Chemel, James L Cpa QUALIFIED30Asiya Javayant
1022Jones F GauchoUnited Kingdom2025-05-22Feltz Printing Service NEW34Asiya Javayant
1023James Z BriddickAustralia2025-06-06Chanay, Jeffrey A Esq QUALIFIED98Bernardo Dominic
1024Emily Q GauchoIndia2025-05-30Buckley Miller Wright RENEWAL93Bernardo Dominic
1025David E RulapaughAustralia2025-06-13Rangoni Of Florence RENEWAL19Bernardo Dominic
1026Arvin Y WieserUnited Kingdom2025-05-19King, Christopher A Esq UNQUALIFIED64Elwin Sharvill
1027Mujtaba M BowleyFrance2025-06-14Feltz Printing Service QUALIFIED30Ioni Bowcher
1028Leja H AmigonFrance2025-06-07Chapman, Ross E Esq NEGOTIATION13Bernardo Dominic
1029Johnson X DilliardItaly2025-05-20Rangoni Of Florence QUALIFIED86Ioni Bowcher
1030Ricardo A BowleyBrazil2025-06-07Feiner Bros RENEWAL79Ivan Magalhaes
1031Ashley W KuskoGermany2025-06-07Benton, John B Jr PROPOSAL96Ioni Bowcher
1032Leon Q MacleadUnited Kingdom2025-05-28Rangoni Of Florence UNQUALIFIED29Bernardo Dominic
1033Stacey A BowleyBrazil2025-05-31King, Christopher A Esq NEGOTIATION79Asiya Javayant
1034Aruna Y CampainSpain2025-05-19Printing Dimensions RENEWAL40Stephen Shaw
1035Leon J CampainBrazil2025-05-22Chanay, Jeffrey A Esq RENEWAL56Ivan Magalhaes
1036Antonio R RulapaughCanada2025-05-26Truhlar And Truhlar Attys PROPOSAL47Asiya Javayant
1037Leon P GauchoItaly2025-06-06Chanay, Jeffrey A Esq NEW78Xuxue Feng
1038Alejandro H VocelkaItaly2025-05-17King, Christopher A Esq PROPOSAL89Ivan Magalhaes
1039Greenwood Q MaletJapan2025-06-13Chapman, Ross E Esq NEGOTIATION18Elwin Sharvill
1040Alejandro W PerinArgentina2025-06-11Chemel, James L Cpa NEW5Asiya Javayant
1041Kadeem S SchemmerCanada2025-05-31Buckley Miller Wright QUALIFIED45Onyama Limba
1042Deepesh P CaldareraUnited Kingdom2025-06-13King, Christopher A Esq PROPOSAL32Elwin Sharvill
1043Antonio K MaletAustralia2025-06-14Truhlar And Truhlar Attys NEW39Asiya Javayant
1044Isabel O WaycottFrance2025-06-07Buckley Miller Wright UNQUALIFIED11Bernardo Dominic
1045Jones J GauchoGermany2025-06-06Morlong Associates NEGOTIATION62Ioni Bowcher
1046Wickens K AmigonAustralia2025-06-08Truhlar And Truhlar Attys NEW49Elwin Sharvill
1047James W MaletBrazil2025-05-31Printing Dimensions RENEWAL33Elwin Sharvill
1048Clifford U CaudyBrazil2025-06-12King, Christopher A Esq NEGOTIATION4Amy Elsner
1049Stacey V OstroskyRussia2025-06-08Chapman, Ross E Esq NEW94Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Stacey N ShinkoFranceIvan Magalhaes RENEWAL
James V FlosiItalyIvan Magalhaes NEW
Julie J NickaCanadaBernardo Dominic RENEWAL
Aditya H WhobreyJapanStephen Shaw NEGOTIATION
Leon I FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Francesco I StockhamJapanXuxue Feng NEW
Silvio B MacleadFranceAsiya Javayant UNQUALIFIED
Smith T PerinFranceOnyama Limba QUALIFIED
Stacey Q SergiArgentinaXuxue Feng UNQUALIFIED
Faith S AmigonBrazilXuxue Feng PROPOSAL
Faith B TollnerBrazilAnna Fali NEGOTIATION
Francesco Z FigeroaGermanyStephen Shaw UNQUALIFIED
Francesco U MorascaAustraliaStephen Shaw NEGOTIATION
James R NestleFranceElwin Sharvill UNQUALIFIED
Nicolas B IturbideItalyBernardo Dominic NEGOTIATION
Rodrigues F ShinkoBrazilElwin Sharvill PROPOSAL
Wickens L RulapaughFranceAnna Fali RENEWAL
Julie C BowleyBrazilAnna Fali NEW
Nicolas F SlusarskiItalyAnna Fali QUALIFIED
Aruna W RutaGermanyAnna Fali QUALIFIED
Faith K TollnerGermanyAsiya Javayant NEGOTIATION
Jeanfrancois G CampainBrazilAnna Fali NEGOTIATION
Arvin P AlbaresAustraliaStephen Shaw NEW
Claire I WhobreyAustraliaXuxue Feng PROPOSAL
Ivar Q CaudyGermanyIoni Bowcher QUALIFIED
Rodrigues U BologniaSpainAsiya Javayant RENEWAL
Murillo N TollnerFranceAnna Fali RENEWAL
Kadeem L IturbideArgentinaXuxue Feng QUALIFIED
Nicolas S StockhamIndiaBernardo Dominic PROPOSAL
Deepesh G RulapaughCanadaIoni Bowcher PROPOSAL
James G MacleadGermanyAsiya Javayant NEGOTIATION
Johnson W VocelkaJapanElwin Sharvill PROPOSAL
Ashley W ButtGermanyAmy Elsner NEGOTIATION
Emily Y GlickAustraliaAmy Elsner NEGOTIATION
Mayumi D StockhamSpainOnyama Limba RENEWAL
Mayumi S FollerAustraliaOnyama Limba UNQUALIFIED
Sinclair L SergiJapanAmy Elsner QUALIFIED
Adams A RimItalyAsiya Javayant NEGOTIATION
James C CampainSpainStephen Shaw PROPOSAL
Costa P FigeroaBrazilIoni Bowcher NEGOTIATION
Deepesh O GillianBrazilAmy Elsner RENEWAL
Darci D RulapaughRussiaOnyama Limba NEGOTIATION
Arvin G KolmetzItalyStephen Shaw NEGOTIATION
Arvin J InouyeFranceStephen Shaw RENEWAL
Munro K ChuiFranceIoni Bowcher UNQUALIFIED
Greenwood K RutaBrazilOnyama Limba NEGOTIATION
Stacey T BologniaFranceBernardo Dominic UNQUALIFIED
Costa O RutaFranceIvan Magalhaes UNQUALIFIED
Cody F ButtItalyAsiya Javayant RENEWAL
Darci Q ChuiGermanyAmy Elsner RENEWAL
Frozen Columns
Name
Smith F Ruta
Aruna J Wieser
Mujtaba V Butt
Aruna W Figeroa
Adams Z Kolmetz
Wickens S Albares
Mujtaba Q Caldarera
Alejandro U Marrier
Chavez K Malet
Mujtaba H Butt
Jefferson Z Nestle
Emily Y Bowley
James M Paprocki
Kadeem H Vocelka
Ricardo H Kusko
Jefferson S Maclead
Leon V Stockham
Mayumi F Whobrey
Maria L Chui
Wickens M Paprocki
Ashley Y Garufi
Costa O Slusarski
Faith K Wieser
Adams X Bowley
Costa G Venere
Morrow Z Vocelka
Maisha R Figeroa
Francesco Y Butt
Octavia T Oldroyd
Rodrigues P Gillian
Deepesh F Poquette
Francesco E Slusarski
Kaitlin F Wieser
Sinclair B Vocelka
Cody W Venere
Nicolas R Butt
Nicolas V Kolmetz
Salvatore V Ferencz
Alejandro O Slusarski
Wickens T Ostrosky
Misaki N Caldarera
Juan K Butt
Aika T Stenseth
Morrow N Ostrosky
Ricardo I Maclead
Chavez J Campain
Salvatore Y Foller
Adams W Amigon
Murillo M Dilliard
Claire H Ruta
IdCountryDate
1000United Kingdom2025-05-22
1001Japan2025-05-18
1002Japan2025-06-11
1003Australia2025-06-09
1004Japan2025-06-09
1005India2025-06-06
1006Brazil2025-05-26
1007Japan2025-06-14
1008Germany2025-06-07
1009United Kingdom2025-06-11
1010Canada2025-06-13
1011Spain2025-05-26
1012Russia2025-06-03
1013Germany2025-06-02
1014Russia2025-05-31
1015Italy2025-05-31
1016Spain2025-05-28
1017Spain2025-06-15
1018Spain2025-05-19
1019Argentina2025-06-13
1020Argentina2025-06-15
1021Australia2025-05-22
1022Spain2025-06-02
1023Russia2025-05-18
1024Australia2025-06-05
1025Canada2025-05-26
1026Italy2025-05-31
1027United Kingdom2025-05-28
1028Spain2025-06-02
1029Spain2025-05-26
1030Canada2025-05-20
1031Russia2025-06-15
1032United Kingdom2025-05-20
1033Russia2025-05-18
1034Canada2025-06-15
1035United Kingdom2025-05-20
1036Japan2025-06-03
1037United Kingdom2025-05-24
1038Spain2025-05-18
1039Russia2025-05-17
1040France2025-05-19
1041Russia2025-06-10
1042France2025-06-04
1043Australia2025-05-27
1044Germany2025-06-03
1045Argentina2025-06-11
1046Japan2025-05-28
1047France2025-05-18
1048Argentina2025-06-11
1049Germany2025-06-07

On-Demand Data

NameIdCountryDate
Murillo D Doe1000Canada2025-06-05
Kaitlin D Vocelka1001Australia2025-05-29
Juan O Amigon1002United Kingdom2025-05-27
Tony Y Albares1003Brazil2025-06-14
Costa D Venere1004Italy2025-05-17
Arvin E Wieser1005Canada2025-05-18
Stacey J Caudy1006Russia2025-05-22
Antonio E Paprocki1007Russia2025-06-14
Mujtaba D Figeroa1008Spain2025-06-15
Kaitlin V Bowley1009Brazil2025-05-24
Clifford O Albares1010Russia2025-05-25
Stacey V Wieser1011Germany2025-05-17
Ricardo Z Stenseth1012Spain2025-05-23
Faith G Marrier1013Italy2025-05-28
Ashley M Ferencz1014United Kingdom2025-05-18
Antonio N Venere1015Spain2025-06-03
Sinclair F Stockham1016Russia2025-06-02
Wickens D Paprocki1017Australia2025-06-12
Juan D Kolmetz1018Italy2025-05-24
Ricardo M Rulapaugh1019Germany2025-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair Q GlickBrazilIvan Magalhaes NEW
Juan N BologniaBrazilAnna Fali NEGOTIATION
Stacey H AmigonFranceBernardo Dominic NEW
Wickens U GarufiGermanyElwin Sharvill NEGOTIATION
Smith D StockhamCanadaStephen Shaw QUALIFIED
Claire Y FigeroaIndiaAnna Fali UNQUALIFIED
Chavez R MaletIndiaIoni Bowcher UNQUALIFIED
Izzy F CampainCanadaAsiya Javayant QUALIFIED
Antonio D SaylorsArgentinaAsiya Javayant NEGOTIATION
Aruna P AlbaresItalyAnna Fali QUALIFIED
James T RoysterItalyStephen Shaw UNQUALIFIED
Aika N PerinFranceXuxue Feng QUALIFIED
Ivar K GarufiAustraliaAmy Elsner UNQUALIFIED
Aika N GlickBrazilIoni Bowcher NEW
Izzy E GlickItalyAnna Fali PROPOSAL
Ivar M RimRussiaIvan Magalhaes QUALIFIED
Jeanfrancois R MacleadItalyIvan Magalhaes QUALIFIED
Kaitlin V KolmetzArgentinaAnna Fali PROPOSAL
Rodrigues K FollerRussiaStephen Shaw QUALIFIED
Leon P RulapaughAustraliaAnna Fali NEW
Murillo A CaudyFranceIoni Bowcher NEW
Izzy A DilliardJapanElwin Sharvill NEGOTIATION
Alejandro W GauchoCanadaAmy Elsner NEW
Ashley M NickaCanadaAnna Fali UNQUALIFIED
Jefferson S ButtJapanBernardo Dominic NEGOTIATION
Rodrigues B CaudyGermanyIoni Bowcher RENEWAL
Ashley N ButtItalyIvan Magalhaes PROPOSAL
Jones M SaylorsAustraliaXuxue Feng UNQUALIFIED
James N MorascaAustraliaAnna Fali PROPOSAL
Rodrigues J PerinGermanyXuxue Feng PROPOSAL
Aika I MaletAustraliaStephen Shaw QUALIFIED
Aruna Q ButtGermanyElwin Sharvill NEGOTIATION
Jeanfrancois G FlosiFranceBernardo Dominic NEGOTIATION
Emily S PaprockiUnited KingdomAmy Elsner UNQUALIFIED
Greenwood Y SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Jeanfrancois D RulapaughFranceAnna Fali RENEWAL
Clifford U WaycottRussiaIvan Magalhaes NEW
Mujtaba A FlosiGermanyAmy Elsner RENEWAL
Leja C BriddickIndiaAnna Fali NEGOTIATION
Jeanfrancois K SaylorsBrazilAmy Elsner NEW

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