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
Clifford N FlosiItalyIvan Magalhaes NEW
Leja Y KolmetzItalyAmy Elsner QUALIFIED
Aruna W SlusarskiBrazilXuxue Feng NEW
Stacey J FerenczUnited KingdomIvan Magalhaes QUALIFIED
Maisha J FigeroaUnited KingdomIoni Bowcher NEW
Jones E DarakjyAustraliaAnna Fali NEGOTIATION
Alejandro R PaprockiUnited KingdomAmy Elsner UNQUALIFIED
Francesco J FlosiJapanBernardo Dominic NEGOTIATION
Maisha D GauchoFranceBernardo Dominic UNQUALIFIED
Morrow G GlickIndiaBernardo Dominic NEW
Aika U KuskoItalyAsiya Javayant UNQUALIFIED
Antonio J StensethFranceAmy Elsner NEW
Tony L VenereFranceAmy Elsner RENEWAL
Jones T FigeroaUnited KingdomOnyama Limba NEGOTIATION
Leon J WhobreyArgentinaIoni Bowcher NEGOTIATION
Ivar X IturbideFranceAsiya Javayant UNQUALIFIED
Julie F PerinUnited KingdomElwin Sharvill NEGOTIATION
Silvio D CampainUnited KingdomIoni Bowcher NEGOTIATION
Julie M StensethSpainOnyama Limba PROPOSAL
Wickens P BologniaJapanAnna Fali RENEWAL
Stacey E BriddickRussiaIvan Magalhaes NEGOTIATION
Kaitlin A VocelkaUnited KingdomStephen Shaw PROPOSAL
Octavia M OldroydUnited KingdomIvan Magalhaes NEW
Ivar D FollerUnited KingdomElwin Sharvill NEW
Alejandro W DoeJapanElwin Sharvill PROPOSAL
Adams E BriddickItalyStephen Shaw RENEWAL
Adams J GauchoItalyAmy Elsner NEGOTIATION
Emily N KolmetzIndiaAnna Fali QUALIFIED
Aditya K FigeroaItalyXuxue Feng NEW
Jones P StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Isabel B WaycottItalyElwin Sharvill PROPOSAL
Jeanfrancois H RimBrazilAsiya Javayant UNQUALIFIED
Cody J SaylorsCanadaXuxue Feng RENEWAL
Kadeem U OldroydItalyOnyama Limba UNQUALIFIED
Aruna E ShinkoGermanyIvan Magalhaes QUALIFIED
Clifford X GauchoBrazilOnyama Limba RENEWAL
Ivar O InouyeUnited KingdomOnyama Limba NEGOTIATION
Aditya I NestleRussiaBernardo Dominic UNQUALIFIED
Rodrigues K FlosiJapanAmy Elsner QUALIFIED
James K OldroydRussiaOnyama Limba RENEWAL
Murillo N PaprockiAustraliaAnna Fali UNQUALIFIED
Kaitlin Q CaudyAustraliaIvan Magalhaes NEW
Murillo E InouyeItalyAsiya Javayant RENEWAL
Deepesh D StensethAustraliaAnna Fali NEW
Munro E BowleyUnited KingdomXuxue Feng QUALIFIED
Jefferson N AlbaresFranceAnna Fali QUALIFIED
Claire M MacleadAustraliaIvan Magalhaes NEGOTIATION
Costa H SaylorsFranceAsiya Javayant NEGOTIATION
Wickens A OldroydCanadaIoni Bowcher RENEWAL
Jones K SchemmerFranceAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Sinclair F FlosiSpainElwin Sharvill QUALIFIED
Smith R SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Jennifer K FigeroaArgentinaStephen Shaw PROPOSAL
Alejandro E MacleadArgentinaAmy Elsner PROPOSAL
Jeanfrancois Z StockhamCanadaAnna Fali NEW
Mayumi A GarufiJapanIoni Bowcher NEW
Costa N SaylorsSpainIvan Magalhaes PROPOSAL
Munro D BriddickCanadaStephen Shaw RENEWAL
Isabel B WhobreyIndiaElwin Sharvill RENEWAL
Johnson M DilliardArgentinaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna T MaletItaly2024-06-16Dorl, James J Esq RENEWAL83Stephen Shaw
1001Silvio Q ChuiBrazil2024-06-20Rousseaux, Michael Esq UNQUALIFIED1Ioni Bowcher
1002Darci Z KuskoFrance2024-06-17King, Christopher A Esq PROPOSAL61Anna Fali
1003Claire I RimBrazil2024-06-18Chemel, James L Cpa QUALIFIED16Asiya Javayant
1004Maria I IturbideGermany2024-05-30Chanay, Jeffrey A Esq QUALIFIED5Bernardo Dominic
1005Ivar E DilliardItaly2024-06-02Dorl, James J Esq PROPOSAL99Ioni Bowcher
1006Stacey R IturbideCanada2024-06-10Feltz Printing Service NEGOTIATION26Elwin Sharvill
1007Aika Y AmigonBrazil2024-06-06Benton, John B Jr UNQUALIFIED60Ivan Magalhaes
1008Juan J ShinkoJapan2024-06-22Buckley Miller Wright NEW16Ivan Magalhaes
1009Ricardo C SergiAustralia2024-06-08Rangoni Of Florence QUALIFIED70Ivan Magalhaes
1010Leon Z GarufiUnited Kingdom2024-06-04Feiner Bros UNQUALIFIED12Ivan Magalhaes
1011Kadeem Y ButtSpain2024-05-25Chapman, Ross E Esq NEGOTIATION61Stephen Shaw
1012Smith I KuskoAustralia2024-05-28Buckley Miller Wright RENEWAL33Xuxue Feng
1013Wickens U SlusarskiItaly2024-06-16Feltz Printing Service QUALIFIED33Stephen Shaw
1014Clifford D RulapaughSpain2024-06-07King, Christopher A Esq PROPOSAL91Elwin Sharvill
1015Ivar A SchemmerAustralia2024-06-14Truhlar And Truhlar Attys RENEWAL74Onyama Limba
1016Aditya K StensethArgentina2024-06-16Commercial Press PROPOSAL74Ioni Bowcher
1017Ricardo R BriddickUnited Kingdom2024-06-06Rousseaux, Michael Esq PROPOSAL87Xuxue Feng
1018Tony E SergiFrance2024-05-30Rangoni Of Florence UNQUALIFIED97Ivan Magalhaes
1019Rodrigues Z CampainAustralia2024-06-07King, Christopher A Esq UNQUALIFIED36Elwin Sharvill
1020Aditya Z FollerGermany2024-06-07Morlong Associates PROPOSAL68Asiya Javayant
1021Izzy I PaprockiBrazil2024-06-18Morlong Associates NEW45Elwin Sharvill
1022Chavez X WhobreySpain2024-06-04Feiner Bros QUALIFIED80Ioni Bowcher
1023Mujtaba T CampainGermany2024-06-05Buckley Miller Wright RENEWAL44Ioni Bowcher
1024Emily H RimCanada2024-05-27Dorl, James J Esq NEGOTIATION62Onyama Limba
1025Wickens B BowleySpain2024-05-31Buckley Miller Wright NEW14Elwin Sharvill
1026Mayumi I WhobreyRussia2024-06-01Dorl, James J Esq PROPOSAL13Ivan Magalhaes
1027Ashley V RoysterArgentina2024-05-30Chemel, James L Cpa QUALIFIED4Onyama Limba
1028Deepesh K SaylorsGermany2024-06-07Chapman, Ross E Esq NEW85Stephen Shaw
1029Darci L MarrierGermany2024-06-14Chapman, Ross E Esq UNQUALIFIED17Onyama Limba
1030Chavez Y FigeroaFrance2024-06-01Morlong Associates PROPOSAL38Bernardo Dominic
1031Murillo S AlbaresRussia2024-06-20Morlong Associates PROPOSAL68Asiya Javayant
1032Wickens Z WieserGermany2024-06-02Rousseaux, Michael Esq UNQUALIFIED55Elwin Sharvill
1033Leja E WieserFrance2024-06-13Benton, John B Jr PROPOSAL6Amy Elsner
1034Wickens I CaudyAustralia2024-05-24Truhlar And Truhlar Attys UNQUALIFIED42Asiya Javayant
1035Ricardo T BriddickIndia2024-06-03King, Christopher A Esq RENEWAL59Anna Fali
1036Arvin B GlickFrance2024-06-22Feltz Printing Service RENEWAL2Bernardo Dominic
1037Jennifer N OstroskyArgentina2024-06-20Truhlar And Truhlar Attys QUALIFIED19Asiya Javayant
1038Maisha A SlusarskiArgentina2024-06-02Commercial Press UNQUALIFIED54Anna Fali
1039Antonio I RutaBrazil2024-06-20Rousseaux, Michael Esq NEGOTIATION35Elwin Sharvill
1040Jones I FlosiRussia2024-06-14Buckley Miller Wright NEGOTIATION58Ioni Bowcher
1041Juan X RimAustralia2024-06-07Commercial Press RENEWAL53Onyama Limba
1042Emily U GlickCanada2024-06-20Commercial Press PROPOSAL95Xuxue Feng
1043Kadeem N MarrierSpain2024-06-07Printing Dimensions RENEWAL63Elwin Sharvill
1044Clifford G RimCanada2024-06-02King, Christopher A Esq NEGOTIATION19Xuxue Feng
1045Mayumi L SlusarskiCanada2024-06-05Morlong Associates UNQUALIFIED73Anna Fali
1046Kaitlin F PaprockiJapan2024-06-10Printing Dimensions NEGOTIATION83Anna Fali
1047Leja N VocelkaGermany2024-06-05Buckley Miller Wright QUALIFIED98Ivan Magalhaes
1048Jones M MorascaUnited Kingdom2024-05-29Morlong Associates NEGOTIATION93Bernardo Dominic
1049Sinclair E RutaAustralia2024-06-05Rousseaux, Michael Esq NEW24Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Sinclair G BriddickJapanBernardo Dominic UNQUALIFIED
Octavia D ShinkoBrazilElwin Sharvill NEW
Maisha Y ButtBrazilXuxue Feng UNQUALIFIED
Isabel T RimIndiaBernardo Dominic PROPOSAL
Mujtaba S MaletIndiaElwin Sharvill PROPOSAL
Mayumi I CaldareraAustraliaBernardo Dominic RENEWAL
Misaki O ShinkoGermanyElwin Sharvill PROPOSAL
Julie Q CaudyFranceAnna Fali PROPOSAL
Juan I GlickJapanOnyama Limba NEW
Leon B OstroskyRussiaAmy Elsner RENEWAL
Jennifer V KolmetzSpainStephen Shaw PROPOSAL
Jennifer F PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Juan Y RoysterAustraliaElwin Sharvill RENEWAL
Alejandro M TollnerSpainBernardo Dominic UNQUALIFIED
Octavia P GauchoIndiaStephen Shaw UNQUALIFIED
Morrow O RulapaughItalyOnyama Limba NEW
Maria Q MorascaGermanyIvan Magalhaes NEGOTIATION
Deepesh Y MacleadUnited KingdomBernardo Dominic NEGOTIATION
Mayumi V FollerItalyStephen Shaw NEW
Aditya I KuskoUnited KingdomIvan Magalhaes NEGOTIATION
Chavez A PaprockiSpainXuxue Feng RENEWAL
David Y MarrierFranceAnna Fali UNQUALIFIED
Darci L BologniaAustraliaStephen Shaw UNQUALIFIED
Jones I SlusarskiRussiaIvan Magalhaes PROPOSAL
Munro D RulapaughBrazilIoni Bowcher UNQUALIFIED
Deepesh Q SaylorsRussiaAmy Elsner NEGOTIATION
Sinclair F DarakjyItalyOnyama Limba RENEWAL
Darci Z MacleadItalyBernardo Dominic NEW
Ashley V WaycottUnited KingdomXuxue Feng PROPOSAL
Alejandro B OldroydBrazilXuxue Feng NEGOTIATION
Octavia Q GlickCanadaElwin Sharvill NEW
Rodrigues T GlickUnited KingdomStephen Shaw PROPOSAL
Stacey M MorascaFranceIvan Magalhaes UNQUALIFIED
Octavia S CaudyUnited KingdomAmy Elsner NEGOTIATION
Kadeem X CampainBrazilAmy Elsner RENEWAL
Alejandro Y RulapaughUnited KingdomBernardo Dominic PROPOSAL
Clifford O PaprockiUnited KingdomBernardo Dominic NEW
Juan E PoquetteAustraliaStephen Shaw PROPOSAL
Jones P FollerGermanyAnna Fali QUALIFIED
Morrow V CampainRussiaAsiya Javayant NEW
James Z DarakjyBrazilXuxue Feng NEGOTIATION
Aditya P SergiArgentinaXuxue Feng QUALIFIED
Sinclair Y GillianGermanyElwin Sharvill PROPOSAL
Alejandro D GarufiUnited KingdomAsiya Javayant PROPOSAL
Cody I PerinCanadaIoni Bowcher QUALIFIED
Salvatore Z FerenczBrazilOnyama Limba UNQUALIFIED
Deepesh R TollnerCanadaAnna Fali PROPOSAL
Aika V DarakjyFranceIoni Bowcher QUALIFIED
Kadeem Z VocelkaJapanIvan Magalhaes NEGOTIATION
Julie S WhobreyUnited KingdomStephen Shaw UNQUALIFIED
Frozen Columns
Name
Clifford W Bowley
Mayumi C Ferencz
Smith E Darakjy
Tony D Ruta
Chavez G Marrier
Maria Q Caldarera
Sinclair Q Foller
Mayumi U Stenseth
Tony X Waycott
Clifford O Caudy
Wickens N Maclead
Isabel S Kolmetz
Ivar D Vocelka
Deepesh R Kusko
Smith J Iturbide
Murillo P Malet
Deepesh C Perin
Greenwood R Marrier
Salvatore S Amigon
Jefferson C Malet
Greenwood Z Wieser
Mujtaba D Flosi
Aruna H Vocelka
Silvio M Dilliard
Smith W Rim
Johnson D Vocelka
Munro M Bolognia
Salvatore K Iturbide
Mayumi U Albares
Alejandro L Darakjy
Nicolas G Waycott
Cody S Ruta
Isabel W Saylors
Aditya J Kolmetz
Rodrigues A Bowley
Leja Z Amigon
Stacey S Slusarski
Tony T Glick
Mujtaba R Ostrosky
Jeanfrancois H Stenseth
Johnson U Malet
Johnson U Malet
Tony Z Garufi
Rodrigues T Schemmer
Ivar Z Albares
Ashley Y Glick
Morrow I Malet
Mayumi Y Rim
Izzy T Tollner
Maria D Oldroyd
IdCountryDate
1000Japan2024-05-27
1001Japan2024-06-10
1002United Kingdom2024-06-19
1003Australia2024-05-28
1004Argentina2024-06-21
1005United Kingdom2024-06-22
1006Japan2024-06-11
1007Germany2024-06-04
1008Germany2024-05-31
1009Russia2024-06-13
1010Argentina2024-06-21
1011Argentina2024-06-18
1012Japan2024-06-10
1013Germany2024-06-02
1014Italy2024-05-27
1015Germany2024-06-03
1016Australia2024-06-11
1017Canada2024-06-07
1018Spain2024-05-28
1019Japan2024-06-22
1020Japan2024-06-14
1021United Kingdom2024-06-15
1022France2024-06-12
1023Russia2024-05-25
1024France2024-05-27
1025Spain2024-06-15
1026Spain2024-06-12
1027India2024-06-20
1028Japan2024-05-27
1029Spain2024-05-30
1030India2024-06-10
1031United Kingdom2024-06-12
1032United Kingdom2024-05-26
1033Argentina2024-06-08
1034Japan2024-06-04
1035India2024-06-22
1036India2024-06-10
1037France2024-06-14
1038Argentina2024-05-27
1039India2024-06-20
1040India2024-06-15
1041Spain2024-06-08
1042Germany2024-06-02
1043United Kingdom2024-06-11
1044Germany2024-06-03
1045Spain2024-06-18
1046Brazil2024-06-20
1047United Kingdom2024-06-10
1048Argentina2024-06-14
1049Russia2024-06-12

On-Demand Data

NameIdCountryDate
Ashley M Stockham1000Russia2024-06-20
Francesco I Kusko1001France2024-06-20
Greenwood F Vocelka1002United Kingdom2024-05-28
Maisha R Morasca1003Canada2024-06-03
Kadeem V Wieser1004Germany2024-06-09
Juan L Chui1005India2024-06-09
Ashley A Rim1006France2024-06-17
Aditya J Perin1007Russia2024-05-26
Arvin T Kusko1008Italy2024-05-31
Ashley G Chui1009Spain2024-05-29
Kadeem G Maclead1010Brazil2024-06-04
Deepesh Y Briddick1011Australia2024-05-31
Silvio T Nestle1012Canada2024-06-22
Sinclair L Doe1013Italy2024-06-09
Murillo Y Wieser1014Italy2024-06-06
Aditya W Albares1015India2024-05-30
Isabel Y Perin1016Brazil2024-06-17
Silvio W Campain1017Germany2024-05-27
Isabel R Waycott1018Germany2024-06-16
Deepesh W Iturbide1019Argentina2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki J SlusarskiItalyIoni Bowcher QUALIFIED
Isabel C DarakjyIndiaBernardo Dominic QUALIFIED
Mayumi W GlickBrazilOnyama Limba QUALIFIED
Misaki B AmigonBrazilAnna Fali UNQUALIFIED
Wickens L NestleItalyXuxue Feng NEW
Costa X VocelkaGermanyAnna Fali NEGOTIATION
Ashley Q CaldareraCanadaAnna Fali RENEWAL
Faith D CampainSpainBernardo Dominic PROPOSAL
Maisha W DilliardBrazilAmy Elsner NEGOTIATION
Wickens X PoquetteUnited KingdomElwin Sharvill RENEWAL
Munro J MaletJapanIvan Magalhaes PROPOSAL
Ashley U SchemmerSpainBernardo Dominic NEGOTIATION
Isabel O PaprockiSpainAsiya Javayant NEGOTIATION
Ivar S RimUnited KingdomXuxue Feng NEW
Cody D BologniaCanadaAnna Fali PROPOSAL
Alejandro V CampainIndiaAnna Fali UNQUALIFIED
James V ChuiRussiaStephen Shaw UNQUALIFIED
Munro Q ShinkoAustraliaAsiya Javayant QUALIFIED
Aruna W GauchoGermanyAsiya Javayant PROPOSAL
Leon W PoquetteRussiaIvan Magalhaes RENEWAL
Maisha A MorascaArgentinaIvan Magalhaes NEW
Alejandro E RimJapanOnyama Limba QUALIFIED
Maria Z DarakjyCanadaStephen Shaw QUALIFIED
Jefferson Y MaletSpainIoni Bowcher QUALIFIED
Jefferson L VenereArgentinaBernardo Dominic QUALIFIED
Aika B ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Izzy C ButtGermanyAmy Elsner NEW
Izzy Y SaylorsCanadaIoni Bowcher NEW
Ricardo I WaycottAustraliaIoni Bowcher QUALIFIED
Kaitlin K KolmetzSpainIvan Magalhaes NEW
Faith T ShinkoAustraliaElwin Sharvill NEGOTIATION
Juan T ButtAustraliaAmy Elsner UNQUALIFIED
Ivar N WieserUnited KingdomAmy Elsner NEW
Antonio G BriddickRussiaBernardo Dominic QUALIFIED
Munro U RutaArgentinaElwin Sharvill RENEWAL
Maisha V SergiUnited KingdomOnyama Limba RENEWAL
Emily H RimBrazilAmy Elsner NEGOTIATION
Misaki C KuskoSpainXuxue Feng QUALIFIED
Arvin V MaletJapanAnna Fali NEW
Jeanfrancois E SchemmerUnited KingdomElwin Sharvill 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>