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
Juan J SlusarskiRussiaBernardo Dominic NEW
Greenwood S TollnerJapanIvan Magalhaes RENEWAL
Misaki Z MarrierFranceIoni Bowcher RENEWAL
Cody Q CaldareraRussiaOnyama Limba UNQUALIFIED
Jennifer P AmigonCanadaOnyama Limba UNQUALIFIED
Ivar P GauchoJapanAsiya Javayant NEW
Misaki X PaprockiItalyAsiya Javayant PROPOSAL
Juan K FerenczGermanyElwin Sharvill PROPOSAL
Smith U RimFranceStephen Shaw NEW
Wickens C VenereUnited KingdomIoni Bowcher RENEWAL
Jennifer R DoeCanadaBernardo Dominic NEGOTIATION
Leon B CampainRussiaAnna Fali NEW
Mayumi I RimJapanOnyama Limba PROPOSAL
Antonio V SchemmerFranceOnyama Limba NEGOTIATION
Maria X FigeroaFranceAsiya Javayant NEGOTIATION
Sinclair W RimFranceIvan Magalhaes RENEWAL
Jeanfrancois D WaycottAustraliaStephen Shaw QUALIFIED
Darci Q DoeGermanyAnna Fali PROPOSAL
Mujtaba C AmigonUnited KingdomXuxue Feng NEW
Ricardo Y RutaAustraliaXuxue Feng PROPOSAL
Chavez T MorascaBrazilElwin Sharvill NEW
Julie K NestleCanadaIvan Magalhaes NEGOTIATION
Stacey E SaylorsAustraliaAnna Fali QUALIFIED
Octavia X FigeroaCanadaElwin Sharvill QUALIFIED
Chavez T BowleyCanadaBernardo Dominic NEGOTIATION
Isabel M OstroskyBrazilAsiya Javayant UNQUALIFIED
Cody X OldroydFranceAmy Elsner NEW
Wickens Y MorascaSpainAnna Fali NEW
Juan N KolmetzFranceXuxue Feng NEW
Emily R PoquetteRussiaAsiya Javayant NEGOTIATION
Stacey V AmigonGermanyElwin Sharvill NEGOTIATION
Kaitlin S GlickGermanyElwin Sharvill NEW
Claire X GlickGermanyAsiya Javayant UNQUALIFIED
Izzy D OstroskyUnited KingdomXuxue Feng RENEWAL
Ivar X RimFranceBernardo Dominic UNQUALIFIED
Francesco Q AlbaresFranceAnna Fali UNQUALIFIED
Jennifer F MaletSpainXuxue Feng NEW
Faith O VenereGermanyAsiya Javayant UNQUALIFIED
Silvio I FerenczBrazilOnyama Limba PROPOSAL
Ashley Q RulapaughFranceStephen Shaw PROPOSAL
Silvio I BologniaArgentinaAmy Elsner UNQUALIFIED
Juan U StockhamRussiaElwin Sharvill NEGOTIATION
Ashley C GillianRussiaAnna Fali NEGOTIATION
Mayumi Z ButtFranceAmy Elsner UNQUALIFIED
Clifford L StensethCanadaAnna Fali NEW
Jefferson X SchemmerUnited KingdomIvan Magalhaes RENEWAL
Kaitlin P BologniaFranceBernardo Dominic QUALIFIED
Deepesh M DilliardJapanAnna Fali PROPOSAL
Clifford U BowleyArgentinaBernardo Dominic NEW
Wickens K SlusarskiJapanBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Sinclair S DilliardArgentinaOnyama Limba NEW
Julie A InouyeCanadaIoni Bowcher UNQUALIFIED
Cody Y FigeroaJapanAmy Elsner NEGOTIATION
Ivar S RimUnited KingdomIoni Bowcher NEGOTIATION
Maisha M SchemmerArgentinaElwin Sharvill PROPOSAL
Jones I FigeroaCanadaIoni Bowcher PROPOSAL
Jeanfrancois Z AlbaresRussiaAsiya Javayant NEW
Jennifer L FigeroaRussiaBernardo Dominic QUALIFIED
Kaitlin H NickaBrazilIvan Magalhaes UNQUALIFIED
Misaki Q VocelkaIndiaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer X FerenczArgentina2026-07-06Rousseaux, Michael Esq NEW66Onyama Limba
1001Cody L MaletGermany2026-07-07Feltz Printing Service PROPOSAL93Ioni Bowcher
1002Aruna H DoeBrazil2026-07-18Dorl, James J Esq UNQUALIFIED52Asiya Javayant
1003Isabel Q NestleFrance2026-07-05Truhlar And Truhlar Attys PROPOSAL39Asiya Javayant
1004Wickens F GlickSpain2026-07-02Printing Dimensions NEGOTIATION48Amy Elsner
1005Julie W OstroskyItaly2026-07-17Commercial Press PROPOSAL93Asiya Javayant
1006Jones V RoysterItaly2026-07-22Chemel, James L Cpa UNQUALIFIED16Ioni Bowcher
1007Leon Q CampainBrazil2026-07-13Benton, John B Jr UNQUALIFIED71Anna Fali
1008Leon L FollerArgentina2026-07-26Feltz Printing Service NEW58Stephen Shaw
1009Sinclair W NestleCanada2026-07-05Chapman, Ross E Esq UNQUALIFIED22Xuxue Feng
1010Leja G DilliardSpain2026-07-15Rousseaux, Michael Esq NEGOTIATION1Xuxue Feng
1011Aruna F VocelkaUnited Kingdom2026-07-18Benton, John B Jr PROPOSAL64Ioni Bowcher
1012Kaitlin S FigeroaSpain2026-07-09Feiner Bros PROPOSAL5Ioni Bowcher
1013Murillo B WaycottGermany2026-07-08Chemel, James L Cpa RENEWAL20Bernardo Dominic
1014Jefferson M RutaBrazil2026-07-03Dorl, James J Esq RENEWAL51Asiya Javayant
1015Cody S SaylorsBrazil2026-07-06Chapman, Ross E Esq PROPOSAL65Bernardo Dominic
1016Jefferson T AlbaresUnited Kingdom2026-07-23Rousseaux, Michael Esq QUALIFIED73Asiya Javayant
1017Ricardo O StockhamRussia2026-07-20Chanay, Jeffrey A Esq NEW47Onyama Limba
1018Salvatore D RulapaughAustralia2026-07-24Printing Dimensions UNQUALIFIED72Amy Elsner
1019Clifford P StensethBrazil2026-07-22Rousseaux, Michael Esq PROPOSAL35Elwin Sharvill
1020Faith D MaletUnited Kingdom2026-07-06Morlong Associates NEW70Asiya Javayant
1021Mujtaba F NestleCanada2026-07-10Buckley Miller Wright PROPOSAL0Stephen Shaw
1022Murillo X InouyeItaly2026-07-02Commercial Press UNQUALIFIED59Stephen Shaw
1023Murillo P KuskoBrazil2026-07-21Rousseaux, Michael Esq NEW86Ivan Magalhaes
1024Misaki R NestleFrance2026-07-11Printing Dimensions UNQUALIFIED45Onyama Limba
1025Nicolas F IturbideBrazil2026-07-16Chanay, Jeffrey A Esq NEGOTIATION82Elwin Sharvill
1026Chavez Z BowleySpain2026-07-13Dorl, James J Esq NEGOTIATION66Anna Fali
1027Jones N GlickCanada2026-07-17Printing Dimensions UNQUALIFIED97Onyama Limba
1028Wickens M GauchoAustralia2026-07-26Buckley Miller Wright QUALIFIED52Asiya Javayant
1029Nicolas R CaudyUnited Kingdom2026-07-31Feltz Printing Service NEGOTIATION98Ioni Bowcher
1030Octavia M WaycottItaly2026-07-18Morlong Associates RENEWAL47Elwin Sharvill
1031Ricardo I KuskoArgentina2026-07-16Printing Dimensions QUALIFIED15Asiya Javayant
1032Julie L MacleadSpain2026-07-16Morlong Associates NEGOTIATION8Ivan Magalhaes
1033Silvio T KuskoItaly2026-07-08Feiner Bros NEGOTIATION75Ivan Magalhaes
1034Maria N FerenczBrazil2026-07-06Buckley Miller Wright RENEWAL95Bernardo Dominic
1035Jefferson D PaprockiJapan2026-07-15Printing Dimensions QUALIFIED17Onyama Limba
1036Adams T TollnerSpain2026-07-18Buckley Miller Wright NEGOTIATION8Asiya Javayant
1037Claire A FigeroaGermany2026-07-14Dorl, James J Esq UNQUALIFIED34Asiya Javayant
1038Johnson G BriddickRussia2026-07-25Truhlar And Truhlar Attys NEW9Ioni Bowcher
1039Izzy J MaletRussia2026-07-07Feltz Printing Service NEW58Elwin Sharvill
1040Mayumi O RoysterUnited Kingdom2026-07-07Commercial Press QUALIFIED87Ioni Bowcher
1041Izzy K SergiFrance2026-07-23Morlong Associates NEW46Stephen Shaw
1042Ashley R KolmetzIndia2026-07-15Chapman, Ross E Esq UNQUALIFIED81Bernardo Dominic
1043Aruna Y MaletCanada2026-07-24Buckley Miller Wright UNQUALIFIED61Bernardo Dominic
1044Tony P KolmetzItaly2026-07-24Chapman, Ross E Esq NEW52Stephen Shaw
1045Juan D CaldareraAustralia2026-07-14King, Christopher A Esq QUALIFIED28Stephen Shaw
1046Kadeem W DarakjyIndia2026-07-23Chemel, James L Cpa PROPOSAL99Asiya Javayant
1047Munro E GillianSpain2026-07-28Rangoni Of Florence QUALIFIED39Onyama Limba
1048Tony P FerenczArgentina2026-07-06Printing Dimensions PROPOSAL20Anna Fali
1049Adams F SchemmerIndia2026-07-14Rangoni Of Florence UNQUALIFIED33Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Greenwood F FerenczSpainAnna Fali UNQUALIFIED
Kadeem J BriddickGermanyIvan Magalhaes RENEWAL
Jennifer D GauchoGermanyBernardo Dominic NEGOTIATION
Alejandro R MaletRussiaOnyama Limba PROPOSAL
Mayumi N PaprockiRussiaAmy Elsner NEW
Morrow M CaldareraBrazilXuxue Feng NEGOTIATION
Adams W MorascaUnited KingdomXuxue Feng PROPOSAL
Murillo P TollnerItalyOnyama Limba RENEWAL
Costa X SlusarskiSpainIvan Magalhaes UNQUALIFIED
Aika V StensethUnited KingdomAmy Elsner QUALIFIED
Tony H RoysterUnited KingdomBernardo Dominic PROPOSAL
Chavez M FollerUnited KingdomBernardo Dominic UNQUALIFIED
Salvatore E GarufiGermanyOnyama Limba NEW
Clifford K FerenczSpainIvan Magalhaes UNQUALIFIED
Cody L NestleIndiaStephen Shaw RENEWAL
Antonio R PerinIndiaStephen Shaw NEW
Claire S ChuiCanadaOnyama Limba PROPOSAL
Salvatore V IturbideRussiaAmy Elsner NEW
Silvio Z ShinkoSpainAmy Elsner NEGOTIATION
Mayumi B BriddickGermanyElwin Sharvill PROPOSAL
Chavez D OstroskyArgentinaIvan Magalhaes QUALIFIED
Tony A MorascaItalyAsiya Javayant PROPOSAL
James D FlosiBrazilOnyama Limba RENEWAL
Aika E GillianBrazilBernardo Dominic PROPOSAL
Ivar E MaletCanadaIoni Bowcher QUALIFIED
Antonio M RutaItalyXuxue Feng NEGOTIATION
Silvio K NickaFranceAmy Elsner PROPOSAL
Leon L MacleadIndiaBernardo Dominic QUALIFIED
Rodrigues N SlusarskiItalyStephen Shaw QUALIFIED
Antonio D PaprockiCanadaStephen Shaw NEGOTIATION
Rodrigues W OstroskyUnited KingdomAnna Fali QUALIFIED
Adams I VenereItalyBernardo Dominic RENEWAL
Octavia T PoquetteBrazilElwin Sharvill QUALIFIED
Deepesh R InouyeFranceAmy Elsner NEGOTIATION
Antonio V PerinBrazilIvan Magalhaes UNQUALIFIED
Mujtaba H SergiAustraliaAsiya Javayant QUALIFIED
Murillo M BologniaFranceOnyama Limba RENEWAL
Greenwood O DarakjyRussiaBernardo Dominic UNQUALIFIED
Kaitlin Z SaylorsCanadaAmy Elsner NEGOTIATION
Claire W RutaAustraliaElwin Sharvill UNQUALIFIED
Julie L SchemmerGermanyXuxue Feng QUALIFIED
Nicolas W WaycottCanadaOnyama Limba NEW
Mujtaba Z VenereIndiaBernardo Dominic NEGOTIATION
Tony J NickaFranceOnyama Limba PROPOSAL
Kadeem I CampainRussiaStephen Shaw NEW
Munro S StensethIndiaStephen Shaw QUALIFIED
Deepesh Q VenereIndiaXuxue Feng UNQUALIFIED
Sinclair U KuskoArgentinaAsiya Javayant RENEWAL
Jeanfrancois P OstroskyAustraliaIoni Bowcher PROPOSAL
Leon B RoysterFranceOnyama Limba QUALIFIED
Frozen Columns
Name
Kadeem I Bolognia
Mayumi S Rulapaugh
Adams C Iturbide
Salvatore H Schemmer
Emily M Flosi
Cody Y Malet
Smith G Shinko
Aruna H Inouye
Juan E Iturbide
Stacey K Chui
Clifford K Marrier
Smith N Butt
Kaitlin I Flosi
Ivar N Butt
Ashley T Whobrey
Stacey D Dilliard
Alejandro W Malet
Ashley K Ferencz
Leja S Slusarski
Juan S Nestle
Stacey N Butt
Francesco K Ruta
Clifford L Morasca
James T Foller
Maisha W Oldroyd
Morrow V Gaucho
Juan S Ferencz
Chavez T Caldarera
Juan Z Ferencz
Jennifer Q Poquette
Nicolas O Ruta
Aika H Saylors
Mayumi T Stenseth
Octavia H Caudy
Ivar H Ruta
Mayumi E Morasca
Salvatore X Nestle
Johnson W Garufi
Darci U Sergi
Emily Y Bolognia
Francesco G Amigon
Darci U Kusko
Morrow G Doe
Antonio W Morasca
Izzy P Chui
Tony P Perin
Morrow M Campain
Kaitlin Q Nestle
Smith L Ostrosky
Deepesh X Amigon
IdCountryDate
1000Australia2026-07-13
1001Brazil2026-07-09
1002Canada2026-07-16
1003Australia2026-07-14
1004India2026-07-21
1005Spain2026-07-22
1006France2026-07-16
1007Argentina2026-07-07
1008Australia2026-07-23
1009India2026-07-16
1010Japan2026-07-03
1011Australia2026-07-15
1012Spain2026-07-20
1013Canada2026-07-07
1014Italy2026-07-30
1015Russia2026-07-17
1016Brazil2026-07-19
1017Japan2026-07-24
1018Japan2026-07-06
1019Brazil2026-07-11
1020Russia2026-07-18
1021United Kingdom2026-07-12
1022France2026-07-22
1023Canada2026-07-21
1024Australia2026-07-26
1025Canada2026-07-10
1026Brazil2026-07-29
1027Japan2026-07-30
1028Canada2026-07-14
1029Canada2026-07-12
1030Spain2026-07-31
1031France2026-07-16
1032Japan2026-07-29
1033Spain2026-07-30
1034Canada2026-07-08
1035Germany2026-07-28
1036Germany2026-07-12
1037India2026-07-21
1038Germany2026-07-09
1039Germany2026-07-16
1040United Kingdom2026-07-05
1041Russia2026-07-09
1042Japan2026-07-20
1043France2026-07-26
1044United Kingdom2026-07-02
1045Japan2026-07-29
1046Germany2026-07-21
1047France2026-07-27
1048United Kingdom2026-07-24
1049Australia2026-07-30

On-Demand Data

NameIdCountryDate
Ashley P Kusko1000United Kingdom2026-07-04
Adams R Caldarera1001Canada2026-07-06
Munro O Nestle1002Australia2026-07-18
Smith C Malet1003Italy2026-07-27
Tony H Saylors1004Canada2026-07-31
Alejandro L Poquette1005Australia2026-07-07
Silvio A Butt1006Argentina2026-07-21
Chavez E Whobrey1007France2026-07-21
Ricardo U Ferencz1008Russia2026-07-22
Ashley L Caudy1009France2026-07-04
Aika P Nicka1010Brazil2026-07-18
Rodrigues Q Gaucho1011Argentina2026-07-09
Jennifer R Saylors1012Russia2026-07-28
Sinclair H Chui1013Canada2026-07-16
David A Dilliard1014Japan2026-07-05
Chavez M Maclead1015Brazil2026-07-22
Claire G Gillian1016Italy2026-07-24
Wickens K Doe1017India2026-07-30
Ashley B Nestle1018Japan2026-07-26
Morrow C Bolognia1019Germany2026-07-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois J VocelkaAustraliaStephen Shaw QUALIFIED
Juan M WhobreyUnited KingdomBernardo Dominic NEW
Cody V CaudyItalyElwin Sharvill RENEWAL
Murillo W MaletCanadaIvan Magalhaes PROPOSAL
Greenwood H GarufiUnited KingdomOnyama Limba PROPOSAL
Costa F BowleyItalyIvan Magalhaes NEW
Ivar V AmigonUnited KingdomOnyama Limba NEGOTIATION
Misaki K KolmetzArgentinaIoni Bowcher RENEWAL
Leja D DarakjyJapanElwin Sharvill NEW
Sinclair M RimArgentinaXuxue Feng NEW
Claire Q FlosiBrazilIvan Magalhaes UNQUALIFIED
Jefferson G SlusarskiAustraliaBernardo Dominic NEGOTIATION
Emily U MacleadSpainAsiya Javayant UNQUALIFIED
Darci X AlbaresBrazilAnna Fali UNQUALIFIED
James N ChuiUnited KingdomOnyama Limba UNQUALIFIED
Francesco L MorascaArgentinaStephen Shaw RENEWAL
Mujtaba B MorascaGermanyAsiya Javayant NEW
Leon N WaycottGermanyAmy Elsner PROPOSAL
Smith X DilliardJapanAnna Fali QUALIFIED
Aditya S OstroskyArgentinaBernardo Dominic QUALIFIED
Arvin L BowleyBrazilBernardo Dominic PROPOSAL
Wickens X CaldareraRussiaBernardo Dominic PROPOSAL
Adams X SlusarskiIndiaIoni Bowcher PROPOSAL
Ashley Q WieserFranceAsiya Javayant RENEWAL
Cody M MarrierCanadaAnna Fali RENEWAL
Ivar K GlickSpainBernardo Dominic PROPOSAL
Clifford W RimBrazilBernardo Dominic NEGOTIATION
Jeanfrancois U GauchoUnited KingdomIoni Bowcher PROPOSAL
Jones O BriddickGermanyStephen Shaw NEGOTIATION
Johnson N BologniaIndiaOnyama Limba NEW
Sinclair Q BowleyAustraliaElwin Sharvill PROPOSAL
Ivar B WhobreyArgentinaXuxue Feng PROPOSAL
Silvio K DilliardRussiaElwin Sharvill RENEWAL
Murillo X DarakjyJapanAmy Elsner UNQUALIFIED
Claire U BowleyCanadaIvan Magalhaes QUALIFIED
Jones M BriddickIndiaOnyama Limba NEW
Julie S FollerRussiaAmy Elsner NEW
Mayumi G KolmetzFranceOnyama Limba UNQUALIFIED
Smith A SchemmerFranceXuxue Feng NEW
Emily U SaylorsJapanXuxue Feng 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>