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
Leja X SlusarskiUnited KingdomAsiya Javayant NEW
Smith D MaletGermanyBernardo Dominic RENEWAL
Rodrigues B InouyeSpainIoni Bowcher QUALIFIED
Greenwood C WaycottAustraliaIoni Bowcher PROPOSAL
Misaki Q GlickGermanyAsiya Javayant NEW
Julie N RoysterJapanElwin Sharvill QUALIFIED
Francesco W PerinJapanXuxue Feng QUALIFIED
Ashley A BologniaSpainStephen Shaw QUALIFIED
Leon Z CaldareraRussiaBernardo Dominic NEW
Arvin Y MaletItalyAnna Fali NEW
Stacey U RimItalyOnyama Limba UNQUALIFIED
Julie J FlosiRussiaIoni Bowcher RENEWAL
Ivar Q GlickArgentinaBernardo Dominic NEGOTIATION
Johnson Z MaletUnited KingdomAsiya Javayant NEW
Deepesh B MaletFranceElwin Sharvill UNQUALIFIED
Salvatore Y FollerAustraliaAsiya Javayant UNQUALIFIED
Alejandro H DarakjyBrazilElwin Sharvill NEW
Ivar I GarufiRussiaIoni Bowcher NEGOTIATION
Leon H CaldareraArgentinaIoni Bowcher QUALIFIED
Faith A FerenczCanadaXuxue Feng UNQUALIFIED
Emily M DoeIndiaIvan Magalhaes UNQUALIFIED
Juan D CaudyItalyAnna Fali NEGOTIATION
Mayumi Q DarakjySpainOnyama Limba RENEWAL
Maria Q MaletIndiaXuxue Feng NEW
Faith G PaprockiGermanyElwin Sharvill PROPOSAL
Misaki N WhobreyGermanyStephen Shaw RENEWAL
Johnson D PerinUnited KingdomXuxue Feng RENEWAL
James J MaletBrazilAsiya Javayant RENEWAL
Claire A BowleyCanadaStephen Shaw UNQUALIFIED
Aika U FollerIndiaIoni Bowcher NEGOTIATION
Aditya O CampainGermanyAmy Elsner PROPOSAL
Salvatore X SaylorsBrazilXuxue Feng PROPOSAL
Deepesh J OldroydItalyXuxue Feng PROPOSAL
Aruna O SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Misaki A VocelkaCanadaOnyama Limba UNQUALIFIED
Clifford P GauchoItalyIvan Magalhaes NEW
Isabel O OldroydIndiaAmy Elsner NEGOTIATION
Izzy U DarakjyGermanyOnyama Limba UNQUALIFIED
Kaitlin S AmigonArgentinaAsiya Javayant UNQUALIFIED
Jennifer X OldroydFranceIvan Magalhaes UNQUALIFIED
Munro N ShinkoIndiaIoni Bowcher PROPOSAL
Rodrigues A ButtBrazilIvan Magalhaes UNQUALIFIED
Maisha N FigeroaRussiaIoni Bowcher UNQUALIFIED
Faith K RutaIndiaAsiya Javayant NEGOTIATION
Aditya K SlusarskiFranceElwin Sharvill QUALIFIED
Rodrigues U CampainIndiaAsiya Javayant PROPOSAL
Mujtaba L WhobreyIndiaIvan Magalhaes UNQUALIFIED
Izzy S DilliardUnited KingdomStephen Shaw UNQUALIFIED
James V MacleadItalyXuxue Feng RENEWAL
Murillo K RutaFranceAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon L StensethIndiaAnna Fali PROPOSAL
Nicolas W CaldareraArgentinaElwin Sharvill PROPOSAL
Jeanfrancois Z SergiArgentinaIvan Magalhaes PROPOSAL
Smith S OstroskyCanadaXuxue Feng RENEWAL
Chavez Z InouyeBrazilAnna Fali NEW
Julie N FlosiAustraliaAnna Fali PROPOSAL
Smith L KolmetzUnited KingdomOnyama Limba NEW
Chavez A InouyeSpainOnyama Limba RENEWAL
Emily R BowleyBrazilAmy Elsner PROPOSAL
Antonio T BowleyCanadaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair Y KolmetzJapan2025-04-12Printing Dimensions QUALIFIED98Bernardo Dominic
1001David D GarufiSpain2025-04-27Chanay, Jeffrey A Esq NEGOTIATION73Ivan Magalhaes
1002Jennifer U OldroydFrance2025-04-30Chapman, Ross E Esq NEGOTIATION54Ioni Bowcher
1003Emily U WaycottUnited Kingdom2025-04-30Rangoni Of Florence RENEWAL65Amy Elsner
1004Kadeem U NestleUnited Kingdom2025-04-21Chanay, Jeffrey A Esq PROPOSAL54Bernardo Dominic
1005Munro Q RoysterFrance2025-04-04Benton, John B Jr RENEWAL50Asiya Javayant
1006Munro T MacleadFrance2025-04-30Rousseaux, Michael Esq NEW55Xuxue Feng
1007Greenwood L DilliardFrance2025-04-07Dorl, James J Esq PROPOSAL59Ioni Bowcher
1008Wickens Q MaletSpain2025-04-07Commercial Press UNQUALIFIED3Xuxue Feng
1009Izzy R SaylorsJapan2025-04-11King, Christopher A Esq PROPOSAL2Anna Fali
1010David U AlbaresBrazil2025-04-24Printing Dimensions NEGOTIATION66Xuxue Feng
1011Aditya F WhobreyCanada2025-04-16Rousseaux, Michael Esq QUALIFIED11Asiya Javayant
1012Leja U IturbideItaly2025-04-19Dorl, James J Esq NEGOTIATION66Ivan Magalhaes
1013Jeanfrancois F GauchoIndia2025-04-25Rousseaux, Michael Esq NEGOTIATION67Ioni Bowcher
1014Aika V ButtJapan2025-04-30Truhlar And Truhlar Attys PROPOSAL2Stephen Shaw
1015Jeanfrancois E GarufiCanada2025-04-27Feltz Printing Service NEGOTIATION17Amy Elsner
1016Isabel U SchemmerFrance2025-04-30Printing Dimensions RENEWAL93Bernardo Dominic
1017Ricardo H GauchoIndia2025-04-03Morlong Associates UNQUALIFIED24Amy Elsner
1018Johnson R StockhamBrazil2025-04-15Chanay, Jeffrey A Esq RENEWAL0Amy Elsner
1019Silvio X PoquetteArgentina2025-04-02Truhlar And Truhlar Attys UNQUALIFIED73Elwin Sharvill
1020Morrow H PaprockiRussia2025-04-15Chemel, James L Cpa NEW64Stephen Shaw
1021Stacey Q GarufiFrance2025-04-23Rangoni Of Florence NEW1Ioni Bowcher
1022Cody M DilliardRussia2025-04-01Commercial Press UNQUALIFIED46Stephen Shaw
1023Cody X BologniaAustralia2025-04-26Morlong Associates RENEWAL92Elwin Sharvill
1024Jeanfrancois O TollnerArgentina2025-04-21Feiner Bros UNQUALIFIED4Elwin Sharvill
1025Costa I RimAustralia2025-04-02Benton, John B Jr PROPOSAL36Anna Fali
1026Izzy O GillianItaly2025-04-05Rousseaux, Michael Esq NEGOTIATION66Elwin Sharvill
1027Maisha A WieserFrance2025-04-12Dorl, James J Esq NEW68Bernardo Dominic
1028Julie C PoquetteAustralia2025-04-23Chemel, James L Cpa RENEWAL6Bernardo Dominic
1029Greenwood K FlosiUnited Kingdom2025-04-23Rousseaux, Michael Esq PROPOSAL4Bernardo Dominic
1030Maria J StensethSpain2025-04-14Morlong Associates QUALIFIED92Onyama Limba
1031Ashley A IturbideJapan2025-04-11Dorl, James J Esq UNQUALIFIED11Stephen Shaw
1032Maisha X CaldareraRussia2025-04-16Morlong Associates NEW63Onyama Limba
1033Faith D FigeroaRussia2025-04-18Morlong Associates UNQUALIFIED73Bernardo Dominic
1034Wickens H AmigonCanada2025-04-26Chapman, Ross E Esq UNQUALIFIED95Stephen Shaw
1035Octavia G FlosiAustralia2025-04-03Dorl, James J Esq NEW85Bernardo Dominic
1036Jefferson V RutaUnited Kingdom2025-04-15Truhlar And Truhlar Attys PROPOSAL1Ioni Bowcher
1037Faith U DoeIndia2025-04-04King, Christopher A Esq PROPOSAL23Anna Fali
1038Kaitlin F CampainBrazil2025-04-08Dorl, James J Esq RENEWAL3Ioni Bowcher
1039Ivar U PoquetteUnited Kingdom2025-04-17Commercial Press NEGOTIATION2Anna Fali
1040Alejandro Q CaudyUnited Kingdom2025-04-15Rousseaux, Michael Esq PROPOSAL90Onyama Limba
1041Ivar J FigeroaArgentina2025-04-05King, Christopher A Esq NEGOTIATION86Ivan Magalhaes
1042Kadeem V FerenczRussia2025-04-18Chapman, Ross E Esq NEW56Asiya Javayant
1043Aika C GarufiAustralia2025-04-03Dorl, James J Esq UNQUALIFIED6Amy Elsner
1044Jennifer S GarufiRussia2025-04-18Benton, John B Jr PROPOSAL55Asiya Javayant
1045Maisha X AmigonCanada2025-04-02Dorl, James J Esq UNQUALIFIED51Anna Fali
1046Adams B RimSpain2025-04-04Feiner Bros UNQUALIFIED23Stephen Shaw
1047Deepesh L PaprockiItaly2025-04-04Chanay, Jeffrey A Esq NEGOTIATION17Ioni Bowcher
1048Deepesh R WhobreyFrance2025-04-03Chanay, Jeffrey A Esq NEGOTIATION78Amy Elsner
1049Salvatore G WieserIndia2025-04-04Chapman, Ross E Esq UNQUALIFIED11Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Juan E AmigonAustraliaBernardo Dominic PROPOSAL
Mayumi B CaldareraRussiaAsiya Javayant NEGOTIATION
Maisha E OldroydIndiaAnna Fali PROPOSAL
Murillo Z CaldareraItalyIvan Magalhaes PROPOSAL
Wickens G KolmetzCanadaBernardo Dominic UNQUALIFIED
Leon T FerenczArgentinaOnyama Limba QUALIFIED
Johnson R IturbideUnited KingdomIoni Bowcher PROPOSAL
Jones G CaldareraSpainAmy Elsner QUALIFIED
Jefferson N FigeroaArgentinaIoni Bowcher UNQUALIFIED
Darci A BriddickSpainOnyama Limba NEGOTIATION
Deepesh U InouyeRussiaStephen Shaw PROPOSAL
Jefferson Z NickaJapanAsiya Javayant UNQUALIFIED
Julie F DilliardIndiaAmy Elsner RENEWAL
Kaitlin J StensethArgentinaAmy Elsner NEW
Costa I BologniaFranceXuxue Feng UNQUALIFIED
Claire S NickaCanadaXuxue Feng RENEWAL
Maria P PaprockiIndiaStephen Shaw PROPOSAL
Octavia G FerenczCanadaXuxue Feng RENEWAL
Juan G MacleadArgentinaAnna Fali NEGOTIATION
Jefferson H SaylorsItalyAnna Fali NEGOTIATION
James I SchemmerBrazilXuxue Feng RENEWAL
Morrow A SergiItalyElwin Sharvill UNQUALIFIED
Tony K DilliardJapanIoni Bowcher QUALIFIED
Deepesh R BowleyFranceStephen Shaw QUALIFIED
Wickens O ChuiFranceIoni Bowcher UNQUALIFIED
Morrow H PerinRussiaStephen Shaw QUALIFIED
Juan S AlbaresUnited KingdomIoni Bowcher QUALIFIED
Jefferson U NickaSpainBernardo Dominic NEW
Costa N MaletRussiaAmy Elsner UNQUALIFIED
Misaki D ShinkoGermanyStephen Shaw UNQUALIFIED
Maisha J MorascaSpainOnyama Limba PROPOSAL
Claire J CaldareraArgentinaStephen Shaw QUALIFIED
Murillo B CaldareraGermanyOnyama Limba NEW
Jeanfrancois Y ShinkoRussiaIoni Bowcher RENEWAL
Greenwood E ButtBrazilXuxue Feng QUALIFIED
David X BowleyFranceOnyama Limba QUALIFIED
Greenwood I MaletSpainAmy Elsner UNQUALIFIED
Adams J SergiJapanElwin Sharvill NEGOTIATION
Faith C FollerBrazilStephen Shaw PROPOSAL
Darci E KuskoItalyIvan Magalhaes UNQUALIFIED
Arvin V CaldareraArgentinaElwin Sharvill QUALIFIED
Ashley W FigeroaItalyXuxue Feng NEW
Juan V VocelkaBrazilAmy Elsner PROPOSAL
Ricardo O BriddickBrazilAmy Elsner RENEWAL
Izzy B PaprockiArgentinaAmy Elsner PROPOSAL
Jones W SchemmerUnited KingdomOnyama Limba QUALIFIED
Sinclair D ButtUnited KingdomElwin Sharvill NEGOTIATION
Adams B OldroydFranceStephen Shaw NEW
Misaki M RimRussiaXuxue Feng RENEWAL
Morrow R AmigonRussiaBernardo Dominic NEGOTIATION
Frozen Columns
Name
Misaki N Tollner
Tony X Perin
Munro L Wieser
Claire S Schemmer
Aruna Q Darakjy
Kaitlin P Garufi
Rodrigues D Maclead
Kaitlin Y Malet
Stacey F Rim
Maisha G Chui
Johnson D Shinko
Wickens O Dilliard
Jones B Nestle
Emily Y Paprocki
Rodrigues K Wieser
Aditya U Marrier
Darci W Foller
Adams R Shinko
Clifford S Bowley
Cody D Tollner
Kadeem U Rulapaugh
Kadeem Y Tollner
Wickens E Chui
Costa P Kusko
Adams M Rulapaugh
Cody S Garufi
Alejandro L Stockham
Octavia Z Stenseth
Aruna I Venere
Clifford J Albares
Isabel X Whobrey
Jones V Ruta
Smith B Kolmetz
Jeanfrancois I Venere
Arvin Z Vocelka
Tony K Bowley
Johnson U Glick
Costa V Schemmer
Cody X Poquette
Faith Q Marrier
Octavia G Ostrosky
Murillo N Dilliard
Jones A Saylors
Nicolas D Oldroyd
Aika S Maclead
David Q Marrier
Jefferson U Rulapaugh
Darci G Stockham
Emily Z Bolognia
Claire H Whobrey
IdCountryDate
1000United Kingdom2025-04-13
1001Japan2025-04-29
1002Germany2025-04-13
1003Germany2025-04-27
1004Australia2025-04-25
1005India2025-04-28
1006Germany2025-04-23
1007Japan2025-04-29
1008Argentina2025-04-20
1009Japan2025-04-05
1010Australia2025-04-18
1011Canada2025-04-25
1012France2025-04-26
1013Canada2025-04-29
1014Japan2025-04-30
1015Canada2025-04-14
1016Japan2025-04-23
1017Australia2025-04-26
1018Japan2025-04-19
1019Germany2025-04-04
1020Germany2025-04-17
1021Russia2025-04-29
1022Spain2025-04-03
1023Spain2025-04-05
1024Germany2025-04-18
1025Italy2025-04-20
1026Australia2025-04-01
1027France2025-04-11
1028United Kingdom2025-04-18
1029India2025-04-28
1030Japan2025-04-28
1031Italy2025-04-16
1032Spain2025-04-29
1033Russia2025-04-30
1034Australia2025-04-22
1035Australia2025-04-13
1036United Kingdom2025-04-19
1037India2025-04-10
1038Canada2025-04-30
1039Russia2025-04-13
1040France2025-04-26
1041Spain2025-04-13
1042Germany2025-04-10
1043Japan2025-04-26
1044Brazil2025-04-09
1045Japan2025-04-18
1046Italy2025-04-17
1047Russia2025-04-29
1048United Kingdom2025-04-08
1049India2025-04-13

On-Demand Data

NameIdCountryDate
Adams Z Malet1000Canada2025-04-02
Nicolas C Malet1001Italy2025-04-03
Izzy X Morasca1002Brazil2025-04-19
Kadeem G Kusko1003Italy2025-04-13
Aruna S Nestle1004Spain2025-04-15
Misaki H Rim1005Brazil2025-04-16
Chavez Q Paprocki1006Japan2025-04-28
Munro X Butt1007Russia2025-04-06
Faith E Inouye1008Brazil2025-04-13
Ashley D Wieser1009Spain2025-04-21
Murillo W Kusko1010Japan2025-04-04
Mayumi D Bolognia1011India2025-04-23
Darci X Figeroa1012Australia2025-04-14
Cody M Perin1013Italy2025-04-28
Emily P Stenseth1014Russia2025-04-11
David W Gillian1015Italy2025-04-18
David M Paprocki1016Spain2025-04-30
Jefferson M Tollner1017Canada2025-04-18
Clifford G Ruta1018Spain2025-04-19
Tony R Garufi1019Italy2025-04-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens Y GauchoGermanyOnyama Limba NEGOTIATION
Ashley J MarrierGermanyBernardo Dominic UNQUALIFIED
Aditya L GillianIndiaElwin Sharvill NEGOTIATION
Aruna A OldroydAustraliaBernardo Dominic QUALIFIED
Chavez R BriddickUnited KingdomIvan Magalhaes UNQUALIFIED
Aika Z GarufiIndiaOnyama Limba PROPOSAL
Adams B ButtJapanBernardo Dominic RENEWAL
Sinclair C SchemmerRussiaOnyama Limba UNQUALIFIED
Costa Y NestleRussiaElwin Sharvill QUALIFIED
Silvio O SaylorsFranceIvan Magalhaes RENEWAL
Jones Y DoeFranceXuxue Feng NEGOTIATION
Octavia B BologniaGermanyOnyama Limba NEGOTIATION
Mayumi B DilliardCanadaElwin Sharvill PROPOSAL
Clifford P GlickFranceAmy Elsner PROPOSAL
Leja H GlickGermanyAsiya Javayant RENEWAL
Sinclair T PerinItalyAsiya Javayant NEW
Julie V MaletJapanAmy Elsner NEGOTIATION
Arvin X ShinkoItalyAmy Elsner NEW
Misaki I GillianRussiaIvan Magalhaes QUALIFIED
Adams W MarrierCanadaAnna Fali PROPOSAL
Deepesh V MacleadSpainAnna Fali NEW
Munro V SergiBrazilIvan Magalhaes NEGOTIATION
Stacey O PerinRussiaElwin Sharvill QUALIFIED
Jennifer B RimJapanAnna Fali NEGOTIATION
Leja H DoeAustraliaElwin Sharvill RENEWAL
Adams J SaylorsIndiaAnna Fali NEW
Chavez P RimBrazilXuxue Feng NEW
Tony F OstroskyArgentinaOnyama Limba QUALIFIED
Murillo S BologniaBrazilXuxue Feng PROPOSAL
Maria Z TollnerAustraliaBernardo Dominic QUALIFIED
Costa E SaylorsGermanyAmy Elsner NEW
Tony B DarakjyArgentinaXuxue Feng NEW
Ivar N InouyeGermanyIoni Bowcher NEW
Misaki D RutaRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois R InouyeJapanIoni Bowcher QUALIFIED
Misaki Z PerinJapanBernardo Dominic NEGOTIATION
Sinclair Z BologniaRussiaAmy Elsner PROPOSAL
Juan L NestleRussiaIoni Bowcher RENEWAL
Wickens J GillianIndiaElwin Sharvill RENEWAL
Wickens T MaletRussiaBernardo Dominic 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>