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
Misaki Z GillianRussiaIoni Bowcher NEGOTIATION
Nicolas V SergiBrazilOnyama Limba QUALIFIED
Chavez W MorascaGermanyOnyama Limba NEW
Wickens L BowleyGermanyXuxue Feng QUALIFIED
Ashley O PaprockiArgentinaIvan Magalhaes NEW
Costa P AlbaresIndiaElwin Sharvill UNQUALIFIED
Johnson O StensethGermanyStephen Shaw UNQUALIFIED
Octavia U SchemmerItalyXuxue Feng PROPOSAL
Wickens U RutaBrazilAsiya Javayant UNQUALIFIED
Deepesh H CaldareraUnited KingdomAsiya Javayant QUALIFIED
Chavez C FerenczGermanyXuxue Feng NEGOTIATION
Jennifer K StockhamCanadaXuxue Feng UNQUALIFIED
Deepesh X NickaRussiaStephen Shaw QUALIFIED
Claire T MaletItalyAmy Elsner QUALIFIED
Adams J KolmetzFranceOnyama Limba RENEWAL
Alejandro M AlbaresJapanStephen Shaw QUALIFIED
James M PaprockiCanadaIoni Bowcher NEW
Leon M SchemmerRussiaStephen Shaw PROPOSAL
Antonio Z MaletUnited KingdomOnyama Limba PROPOSAL
Jefferson E CampainRussiaAsiya Javayant NEW
Kadeem H MarrierGermanyXuxue Feng QUALIFIED
Darci X MaletIndiaElwin Sharvill QUALIFIED
Leja S PerinSpainIvan Magalhaes NEW
Julie T OldroydCanadaAsiya Javayant UNQUALIFIED
Smith I BowleyCanadaOnyama Limba UNQUALIFIED
Octavia R DilliardArgentinaAmy Elsner NEW
Rodrigues T MarrierCanadaIoni Bowcher UNQUALIFIED
Faith L GillianArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois B AmigonBrazilIvan Magalhaes NEGOTIATION
Juan W DoeGermanyBernardo Dominic UNQUALIFIED
Juan M FlosiRussiaAsiya Javayant NEGOTIATION
Leon D PerinRussiaAmy Elsner PROPOSAL
Mayumi H IturbideJapanAnna Fali RENEWAL
Munro K MaletSpainStephen Shaw RENEWAL
Jones M FollerArgentinaAmy Elsner RENEWAL
Johnson A MaletGermanyAnna Fali QUALIFIED
Faith W IturbideIndiaIoni Bowcher QUALIFIED
Ivar B RoysterSpainStephen Shaw NEGOTIATION
Isabel G BriddickUnited KingdomBernardo Dominic NEW
Ricardo Q MaletBrazilIvan Magalhaes NEGOTIATION
Ricardo W AlbaresUnited KingdomElwin Sharvill QUALIFIED
Kadeem Z DilliardAustraliaStephen Shaw NEGOTIATION
Leon B PaprockiRussiaIoni Bowcher PROPOSAL
Smith P FigeroaUnited KingdomAnna Fali NEW
Rodrigues U GillianSpainAnna Fali UNQUALIFIED
Silvio G SlusarskiAustraliaOnyama Limba QUALIFIED
Ivar P MarrierItalyIvan Magalhaes RENEWAL
Jones R IturbideSpainOnyama Limba RENEWAL
Rodrigues Y SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Chavez T ButtIndiaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Emily U NickaItalyIoni Bowcher PROPOSAL
Adams D NickaCanadaAmy Elsner UNQUALIFIED
Munro Y StockhamFranceBernardo Dominic NEW
Greenwood I BowleyArgentinaAnna Fali PROPOSAL
James W AlbaresUnited KingdomIvan Magalhaes NEGOTIATION
Aika X WieserUnited KingdomElwin Sharvill NEW
Emily E MarrierIndiaStephen Shaw PROPOSAL
Arvin T MaletGermanyElwin Sharvill UNQUALIFIED
Jennifer Z OstroskyArgentinaAsiya Javayant NEW
Smith X FerenczCanadaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon M VenereIndia2026-06-25Rangoni Of Florence NEW56Onyama Limba
1001Smith I ButtUnited Kingdom2026-07-10Chemel, James L Cpa NEW13Elwin Sharvill
1002Salvatore A GauchoJapan2026-06-23Feiner Bros UNQUALIFIED37Bernardo Dominic
1003Faith A ChuiFrance2026-07-14Chapman, Ross E Esq NEW82Stephen Shaw
1004Maria N DoeGermany2026-06-25Commercial Press NEW67Bernardo Dominic
1005Kadeem D SergiAustralia2026-07-02Rangoni Of Florence NEW96Asiya Javayant
1006David X VenereRussia2026-06-20Printing Dimensions NEW95Elwin Sharvill
1007Faith A GillianBrazil2026-07-13Rousseaux, Michael Esq NEGOTIATION28Xuxue Feng
1008Morrow T WieserSpain2026-07-17Dorl, James J Esq RENEWAL60Ivan Magalhaes
1009Alejandro A DilliardJapan2026-07-13Chanay, Jeffrey A Esq RENEWAL71Bernardo Dominic
1010Murillo N GarufiFrance2026-06-20Dorl, James J Esq RENEWAL0Onyama Limba
1011Faith X PaprockiGermany2026-06-27King, Christopher A Esq UNQUALIFIED40Xuxue Feng
1012Emily W ShinkoIndia2026-07-17Feltz Printing Service PROPOSAL69Ivan Magalhaes
1013Jefferson S CaudyArgentina2026-07-17Buckley Miller Wright RENEWAL49Ivan Magalhaes
1014James Y RimJapan2026-07-08Printing Dimensions PROPOSAL68Asiya Javayant
1015Jefferson S StensethArgentina2026-07-11Chemel, James L Cpa PROPOSAL73Anna Fali
1016Claire N WhobreyIndia2026-06-30Dorl, James J Esq NEGOTIATION95Anna Fali
1017Mayumi K MarrierRussia2026-07-12Rangoni Of Florence QUALIFIED50Asiya Javayant
1018Clifford J ShinkoAustralia2026-07-09Rousseaux, Michael Esq PROPOSAL35Ivan Magalhaes
1019Juan T IturbideItaly2026-07-15Feltz Printing Service NEW80Onyama Limba
1020Misaki C CampainJapan2026-06-29Commercial Press NEW85Anna Fali
1021Aditya S DoeRussia2026-07-04Feltz Printing Service NEW16Elwin Sharvill
1022Stacey A AlbaresBrazil2026-07-17Truhlar And Truhlar Attys RENEWAL58Bernardo Dominic
1023Octavia I GlickItaly2026-06-23Dorl, James J Esq NEGOTIATION27Ioni Bowcher
1024Jones A DoeAustralia2026-06-19Chapman, Ross E Esq NEGOTIATION57Amy Elsner
1025Johnson X AmigonAustralia2026-07-06Truhlar And Truhlar Attys PROPOSAL14Asiya Javayant
1026Salvatore W PerinArgentina2026-07-03Commercial Press PROPOSAL32Stephen Shaw
1027Mayumi X FlosiBrazil2026-07-16Chapman, Ross E Esq UNQUALIFIED25Asiya Javayant
1028Leon K InouyeJapan2026-06-30Chanay, Jeffrey A Esq UNQUALIFIED88Xuxue Feng
1029Jones L VenereJapan2026-06-28Printing Dimensions NEW21Amy Elsner
1030Munro U OstroskyItaly2026-06-20Chanay, Jeffrey A Esq UNQUALIFIED12Asiya Javayant
1031Juan T AlbaresRussia2026-07-17King, Christopher A Esq QUALIFIED73Onyama Limba
1032Deepesh O RulapaughSpain2026-07-12Feltz Printing Service QUALIFIED53Anna Fali
1033Julie E KuskoJapan2026-06-29Commercial Press PROPOSAL73Onyama Limba
1034Johnson S RoysterBrazil2026-06-25Chemel, James L Cpa QUALIFIED47Onyama Limba
1035Aditya T GarufiRussia2026-06-28Dorl, James J Esq RENEWAL49Elwin Sharvill
1036Adams M GauchoRussia2026-06-28Buckley Miller Wright QUALIFIED33Stephen Shaw
1037Silvio Q KolmetzGermany2026-07-06Rousseaux, Michael Esq RENEWAL0Asiya Javayant
1038Isabel M RutaItaly2026-07-06Morlong Associates RENEWAL1Asiya Javayant
1039Leon K AmigonArgentina2026-06-20Chemel, James L Cpa RENEWAL13Xuxue Feng
1040Isabel P IturbideGermany2026-07-15Chemel, James L Cpa PROPOSAL37Bernardo Dominic
1041Misaki Q RutaSpain2026-07-18Commercial Press QUALIFIED46Ivan Magalhaes
1042James O MarrierRussia2026-07-12Benton, John B Jr NEGOTIATION38Bernardo Dominic
1043Isabel Y GlickUnited Kingdom2026-07-03Chemel, James L Cpa UNQUALIFIED50Ioni Bowcher
1044Chavez U RutaUnited Kingdom2026-07-02King, Christopher A Esq UNQUALIFIED2Ioni Bowcher
1045James P SergiIndia2026-07-07Dorl, James J Esq NEW76Elwin Sharvill
1046Aika D CaldareraFrance2026-07-17Benton, John B Jr NEGOTIATION34Xuxue Feng
1047Chavez K DoeUnited Kingdom2026-06-24Rousseaux, Michael Esq PROPOSAL66Anna Fali
1048Izzy K AlbaresCanada2026-07-08Chanay, Jeffrey A Esq NEGOTIATION17Asiya Javayant
1049Ricardo F FerenczGermany2026-07-10Printing Dimensions PROPOSAL90Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Morrow W GauchoBrazilStephen Shaw PROPOSAL
Isabel L WhobreyJapanElwin Sharvill UNQUALIFIED
Juan M RulapaughFranceAsiya Javayant NEW
Munro M GillianJapanAnna Fali PROPOSAL
Ashley O KuskoAustraliaAmy Elsner NEW
Kadeem G PoquetteUnited KingdomAmy Elsner QUALIFIED
Silvio Y ChuiCanadaIoni Bowcher QUALIFIED
Tony N KuskoIndiaIvan Magalhaes UNQUALIFIED
Silvio N KolmetzGermanyAsiya Javayant QUALIFIED
Izzy C NickaUnited KingdomStephen Shaw NEW
Clifford T CampainAustraliaAnna Fali RENEWAL
Kaitlin S SergiCanadaAmy Elsner RENEWAL
Kaitlin R WhobreyGermanyAsiya Javayant PROPOSAL
Octavia P ChuiUnited KingdomOnyama Limba PROPOSAL
Murillo N FerenczItalyAsiya Javayant RENEWAL
Leon W PaprockiGermanyStephen Shaw NEW
Nicolas Z DoeGermanyAsiya Javayant NEGOTIATION
Silvio L DoeItalyXuxue Feng NEW
Alejandro S GlickArgentinaBernardo Dominic UNQUALIFIED
Sinclair D PerinCanadaOnyama Limba PROPOSAL
Misaki D WieserBrazilStephen Shaw NEGOTIATION
Jeanfrancois P ShinkoBrazilOnyama Limba PROPOSAL
Ashley R TollnerGermanyIvan Magalhaes RENEWAL
Munro H RoysterArgentinaAnna Fali PROPOSAL
Mujtaba W SergiJapanXuxue Feng NEGOTIATION
Francesco S FollerCanadaStephen Shaw NEGOTIATION
Misaki X AlbaresFranceOnyama Limba UNQUALIFIED
Clifford X FlosiCanadaOnyama Limba QUALIFIED
Ricardo V FlosiAustraliaIvan Magalhaes QUALIFIED
Kaitlin W FigeroaArgentinaAmy Elsner QUALIFIED
Johnson Z OldroydAustraliaXuxue Feng PROPOSAL
Darci M InouyeGermanyAmy Elsner PROPOSAL
David U GauchoBrazilIoni Bowcher UNQUALIFIED
Munro E MacleadCanadaAmy Elsner QUALIFIED
Aditya R RutaIndiaXuxue Feng UNQUALIFIED
Mujtaba M SergiIndiaXuxue Feng QUALIFIED
Arvin I SaylorsAustraliaAnna Fali NEGOTIATION
Faith P KuskoUnited KingdomAmy Elsner NEW
Ivar S GauchoRussiaIvan Magalhaes PROPOSAL
Greenwood F VocelkaJapanAmy Elsner RENEWAL
Silvio O SlusarskiArgentinaBernardo Dominic PROPOSAL
Mujtaba J InouyeGermanyIvan Magalhaes NEW
Jones C IturbideSpainOnyama Limba PROPOSAL
Adams X MacleadGermanyOnyama Limba NEGOTIATION
Octavia S KuskoSpainAnna Fali NEW
Clifford Z AmigonFranceIvan Magalhaes PROPOSAL
Sinclair P InouyeBrazilAnna Fali NEW
Juan W InouyeArgentinaStephen Shaw NEGOTIATION
Leon W OldroydCanadaIvan Magalhaes QUALIFIED
Emily D CaudyArgentinaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Alejandro K Wieser
Wickens D Morasca
Jeanfrancois K Glick
Jennifer X Maclead
Salvatore V Iturbide
Alejandro I Tollner
Julie J Paprocki
Mujtaba C Marrier
James W Marrier
Darci C Marrier
Rodrigues D Wieser
David Q Iturbide
Julie X Flosi
Faith S Nestle
Ashley M Gillian
Alejandro G Wieser
Kaitlin L Butt
Antonio L Ruta
Octavia W Tollner
Johnson J Caudy
Aruna U Waycott
Alejandro O Nestle
Aditya U Inouye
Faith P Tollner
Jefferson Q Caudy
Aruna U Slusarski
Costa S Maclead
Faith B Venere
Nicolas U Perin
Alejandro R Darakjy
Smith F Stockham
Darci D Perin
Chavez P Marrier
Ashley D Rulapaugh
Faith X Stenseth
Wickens N Shinko
Faith N Schemmer
Aika P Paprocki
Wickens L Kusko
Ricardo L Figeroa
Nicolas B Whobrey
Kadeem P Stockham
Julie V Waycott
Kadeem D Marrier
Greenwood D Doe
Antonio X Morasca
Maisha B Kolmetz
Juan B Flosi
Deepesh P Caldarera
Maisha E Gaucho
IdCountryDate
1000Canada2026-07-02
1001India2026-06-29
1002Japan2026-06-19
1003Brazil2026-06-28
1004Germany2026-06-29
1005Argentina2026-06-21
1006Spain2026-06-25
1007Japan2026-06-22
1008Argentina2026-07-12
1009France2026-06-19
1010Argentina2026-07-11
1011Russia2026-07-01
1012Italy2026-07-12
1013Canada2026-07-05
1014United Kingdom2026-07-15
1015Brazil2026-07-06
1016Argentina2026-07-05
1017Canada2026-07-03
1018Germany2026-06-20
1019Russia2026-07-11
1020Canada2026-06-26
1021France2026-06-27
1022Canada2026-07-10
1023Italy2026-07-03
1024France2026-07-14
1025Japan2026-07-11
1026Argentina2026-06-23
1027Brazil2026-06-27
1028Brazil2026-06-21
1029Canada2026-06-29
1030Russia2026-07-16
1031Spain2026-06-24
1032India2026-06-23
1033Australia2026-06-21
1034Brazil2026-06-25
1035Argentina2026-07-05
1036Argentina2026-06-20
1037United Kingdom2026-06-26
1038India2026-07-06
1039Australia2026-07-08
1040Canada2026-06-26
1041United Kingdom2026-07-10
1042Argentina2026-07-03
1043Germany2026-06-25
1044Germany2026-07-09
1045Brazil2026-06-25
1046Germany2026-06-29
1047Australia2026-06-24
1048France2026-06-24
1049Germany2026-07-08

On-Demand Data

NameIdCountryDate
Ricardo I Stenseth1000India2026-07-16
Sinclair F Shinko1001India2026-06-26
Wickens X Malet1002Argentina2026-07-04
James B Rulapaugh1003Australia2026-06-30
Salvatore J Maclead1004Spain2026-07-08
Faith X Rim1005Japan2026-07-15
Maria D Maclead1006Spain2026-06-21
Rodrigues L Poquette1007Brazil2026-06-20
Claire I Bowley1008Russia2026-06-22
Faith G Oldroyd1009United Kingdom2026-07-10
Johnson Z Saylors1010Japan2026-06-29
Murillo K Caldarera1011Japan2026-07-18
Octavia A Oldroyd1012Argentina2026-06-24
Jones Y Kusko1013Russia2026-06-22
Mujtaba X Shinko1014Canada2026-06-19
Francesco Y Vocelka1015France2026-07-01
Ricardo O Perin1016Japan2026-06-24
Chavez G Tollner1017Italy2026-07-13
Tony D Rulapaugh1018Russia2026-06-29
Faith N Gaucho1019Spain2026-06-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford F IturbideBrazilOnyama Limba RENEWAL
Sinclair U ShinkoUnited KingdomAnna Fali UNQUALIFIED
Aditya M DoeUnited KingdomXuxue Feng QUALIFIED
Jefferson A DilliardGermanyOnyama Limba QUALIFIED
Chavez B PerinJapanAsiya Javayant RENEWAL
Kaitlin O StockhamUnited KingdomAmy Elsner QUALIFIED
Leon F KuskoSpainOnyama Limba NEGOTIATION
Munro S GarufiFranceAmy Elsner UNQUALIFIED
Wickens P PaprockiUnited KingdomIvan Magalhaes RENEWAL
Kaitlin F SaylorsUnited KingdomAsiya Javayant NEW
Antonio M GarufiBrazilAmy Elsner PROPOSAL
Ivar T VocelkaIndiaIvan Magalhaes QUALIFIED
Salvatore W WhobreyRussiaStephen Shaw RENEWAL
Aditya V NickaItalyAnna Fali PROPOSAL
Aditya Y InouyeIndiaIvan Magalhaes RENEWAL
Claire H FerenczBrazilIoni Bowcher RENEWAL
Maria G RoysterUnited KingdomAnna Fali UNQUALIFIED
Isabel H WaycottAustraliaAnna Fali QUALIFIED
Leon F InouyeRussiaIvan Magalhaes NEGOTIATION
Munro K BriddickBrazilBernardo Dominic QUALIFIED
Juan P GarufiGermanyAnna Fali QUALIFIED
Alejandro E BowleyCanadaElwin Sharvill RENEWAL
Rodrigues U FollerItalyStephen Shaw QUALIFIED
Greenwood X PaprockiBrazilXuxue Feng RENEWAL
Mayumi G GlickIndiaIvan Magalhaes RENEWAL
James A RoysterArgentinaAmy Elsner RENEWAL
Smith H FlosiItalyBernardo Dominic UNQUALIFIED
Arvin H AmigonSpainIoni Bowcher NEGOTIATION
Greenwood O PoquetteItalyBernardo Dominic QUALIFIED
Isabel C FerenczIndiaIvan Magalhaes NEGOTIATION
Greenwood R BowleyAustraliaXuxue Feng NEW
Octavia P NickaCanadaBernardo Dominic UNQUALIFIED
Stacey A BriddickUnited KingdomAnna Fali NEW
Leja B OldroydUnited KingdomXuxue Feng RENEWAL
Aditya V FerenczGermanyXuxue Feng RENEWAL
Ashley M GauchoUnited KingdomStephen Shaw PROPOSAL
Maria T PaprockiSpainElwin Sharvill UNQUALIFIED
Ashley J StensethFranceAsiya Javayant PROPOSAL
Johnson F GlickJapanStephen Shaw QUALIFIED
Morrow U WaycottRussiaStephen Shaw 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>