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
Ivar I ShinkoJapanAnna Fali QUALIFIED
Leon A CampainFranceIoni Bowcher NEGOTIATION
Izzy F SlusarskiAustraliaIvan Magalhaes PROPOSAL
Smith P StensethIndiaAsiya Javayant PROPOSAL
James Z MacleadJapanAsiya Javayant RENEWAL
Ricardo W MaletRussiaStephen Shaw UNQUALIFIED
Darci J RulapaughGermanyAmy Elsner UNQUALIFIED
Clifford I BowleyJapanOnyama Limba UNQUALIFIED
Emily P MorascaSpainAmy Elsner QUALIFIED
Johnson K KolmetzSpainIoni Bowcher NEW
Cody H PaprockiItalyIvan Magalhaes PROPOSAL
Izzy K WhobreyUnited KingdomAnna Fali PROPOSAL
Alejandro I FigeroaIndiaIvan Magalhaes PROPOSAL
Misaki Z IturbideRussiaXuxue Feng PROPOSAL
Smith C FerenczFranceElwin Sharvill RENEWAL
Clifford Z DoeRussiaAsiya Javayant QUALIFIED
James Z FlosiIndiaAsiya Javayant PROPOSAL
Faith L WaycottFranceIoni Bowcher NEW
Julie O MarrierCanadaXuxue Feng UNQUALIFIED
Julie I DarakjyGermanyAsiya Javayant UNQUALIFIED
Jefferson D StensethIndiaAnna Fali QUALIFIED
Julie R SergiItalyOnyama Limba RENEWAL
Maisha U CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Mujtaba I DoeRussiaXuxue Feng UNQUALIFIED
Clifford X GlickIndiaElwin Sharvill PROPOSAL
Smith A IturbideFranceIoni Bowcher RENEWAL
David F VenereItalyElwin Sharvill RENEWAL
Darci S RimBrazilIvan Magalhaes PROPOSAL
Francesco S GauchoBrazilAnna Fali UNQUALIFIED
Izzy I TollnerIndiaStephen Shaw QUALIFIED
Mujtaba H ChuiFranceIvan Magalhaes UNQUALIFIED
Misaki F IturbideBrazilAmy Elsner RENEWAL
Aditya Q BowleyAustraliaIvan Magalhaes NEGOTIATION
Kaitlin I KuskoGermanyOnyama Limba UNQUALIFIED
Maria H VenereGermanyBernardo Dominic QUALIFIED
Silvio N GauchoUnited KingdomStephen Shaw QUALIFIED
Claire X VenereGermanyIoni Bowcher RENEWAL
Morrow P OstroskyIndiaStephen Shaw RENEWAL
Sinclair O PaprockiJapanIvan Magalhaes PROPOSAL
Claire N VocelkaJapanStephen Shaw NEGOTIATION
Ivar M BowleyArgentinaAsiya Javayant NEGOTIATION
Francesco J PaprockiRussiaStephen Shaw NEGOTIATION
Kaitlin V InouyeRussiaIvan Magalhaes NEGOTIATION
Isabel T GarufiJapanAsiya Javayant PROPOSAL
Aruna Z MaletJapanElwin Sharvill NEW
Tony X FerenczBrazilXuxue Feng UNQUALIFIED
Leja Z MarrierRussiaIvan Magalhaes NEGOTIATION
Aruna M FigeroaAustraliaXuxue Feng QUALIFIED
Sinclair V GillianSpainOnyama Limba QUALIFIED
Adams H BriddickItalyStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh M DilliardSpainOnyama Limba UNQUALIFIED
Leja L CaudyItalyAmy Elsner PROPOSAL
Mujtaba Y PaprockiItalyStephen Shaw PROPOSAL
Alejandro B SergiCanadaElwin Sharvill NEGOTIATION
Deepesh L RulapaughItalyIoni Bowcher PROPOSAL
Murillo X PoquetteFranceOnyama Limba RENEWAL
Tony L VocelkaGermanyOnyama Limba NEGOTIATION
Ricardo N AmigonSpainAnna Fali RENEWAL
James L SaylorsItalyAnna Fali QUALIFIED
Munro N ButtIndiaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki I ButtIndia2024-05-26Dorl, James J Esq PROPOSAL57Stephen Shaw
1001Darci N VenereUnited Kingdom2024-06-08Feiner Bros NEGOTIATION63Bernardo Dominic
1002James D StockhamUnited Kingdom2024-06-14Dorl, James J Esq QUALIFIED25Anna Fali
1003Aditya O FlosiRussia2024-05-26Feiner Bros QUALIFIED35Xuxue Feng
1004Munro O OstroskyItaly2024-06-07Benton, John B Jr PROPOSAL68Elwin Sharvill
1005Octavia A NestleRussia2024-06-05Rousseaux, Michael Esq QUALIFIED42Amy Elsner
1006Julie L MaletIndia2024-06-19Benton, John B Jr QUALIFIED89Anna Fali
1007Ricardo U NestleSpain2024-06-22Chemel, James L Cpa PROPOSAL2Ioni Bowcher
1008Ricardo H KolmetzBrazil2024-06-05Chanay, Jeffrey A Esq QUALIFIED32Asiya Javayant
1009Kaitlin C VocelkaSpain2024-06-11Chemel, James L Cpa NEW77Onyama Limba
1010Smith Q MaletArgentina2024-06-15Dorl, James J Esq UNQUALIFIED51Xuxue Feng
1011Julie Y WieserJapan2024-05-29King, Christopher A Esq UNQUALIFIED64Onyama Limba
1012Octavia C VocelkaRussia2024-05-27Feiner Bros PROPOSAL40Stephen Shaw
1013Silvio F IturbideIndia2024-06-04Feiner Bros UNQUALIFIED7Ioni Bowcher
1014Tony I WieserRussia2024-06-09Rangoni Of Florence QUALIFIED52Asiya Javayant
1015Leon E SchemmerUnited Kingdom2024-05-24Commercial Press RENEWAL73Elwin Sharvill
1016Maisha L RulapaughRussia2024-06-21Truhlar And Truhlar Attys NEW11Amy Elsner
1017Smith M GillianFrance2024-06-09Rangoni Of Florence QUALIFIED85Amy Elsner
1018Leon C BriddickArgentina2024-06-21Chemel, James L Cpa UNQUALIFIED88Xuxue Feng
1019Jeanfrancois H OldroydFrance2024-06-14Benton, John B Jr PROPOSAL59Onyama Limba
1020Jennifer K StensethFrance2024-06-05King, Christopher A Esq QUALIFIED92Onyama Limba
1021Smith C MorascaCanada2024-05-27Chanay, Jeffrey A Esq PROPOSAL41Ivan Magalhaes
1022Julie T ShinkoItaly2024-06-19Truhlar And Truhlar Attys NEW78Ivan Magalhaes
1023Antonio R DoeUnited Kingdom2024-06-03Buckley Miller Wright UNQUALIFIED86Onyama Limba
1024Adams N CaldareraUnited Kingdom2024-06-19Feltz Printing Service PROPOSAL36Stephen Shaw
1025Ashley Y ChuiCanada2024-05-27Truhlar And Truhlar Attys NEW46Ivan Magalhaes
1026Izzy G AlbaresJapan2024-06-19Truhlar And Truhlar Attys NEGOTIATION27Anna Fali
1027Kadeem Y CaudySpain2024-06-20Morlong Associates NEGOTIATION90Bernardo Dominic
1028Ashley Z IturbideBrazil2024-06-02Rangoni Of Florence NEGOTIATION40Elwin Sharvill
1029David K NestleAustralia2024-06-10Truhlar And Truhlar Attys QUALIFIED65Ioni Bowcher
1030Wickens U MarrierJapan2024-06-16King, Christopher A Esq PROPOSAL76Elwin Sharvill
1031Cody K StensethSpain2024-06-19Morlong Associates QUALIFIED84Elwin Sharvill
1032Leja Z GlickFrance2024-06-01Chemel, James L Cpa PROPOSAL12Amy Elsner
1033Antonio G GlickSpain2024-06-20Morlong Associates QUALIFIED29Stephen Shaw
1034Octavia T SchemmerUnited Kingdom2024-06-13Chemel, James L Cpa NEGOTIATION40Bernardo Dominic
1035Murillo D WhobreyItaly2024-06-04Truhlar And Truhlar Attys UNQUALIFIED55Amy Elsner
1036Julie U DilliardCanada2024-06-03Rangoni Of Florence NEGOTIATION7Amy Elsner
1037Juan U WhobreyIndia2024-05-28Morlong Associates RENEWAL39Anna Fali
1038Morrow F CaldareraFrance2024-05-31Buckley Miller Wright NEW4Xuxue Feng
1039Antonio O SchemmerFrance2024-06-15Chanay, Jeffrey A Esq PROPOSAL81Stephen Shaw
1040Adams L VocelkaAustralia2024-06-21Rangoni Of Florence PROPOSAL56Ivan Magalhaes
1041Octavia S WieserArgentina2024-05-29Dorl, James J Esq UNQUALIFIED50Onyama Limba
1042Ricardo Z SergiAustralia2024-06-01Chemel, James L Cpa NEGOTIATION44Onyama Limba
1043Jennifer Z MaletAustralia2024-06-05King, Christopher A Esq RENEWAL48Xuxue Feng
1044Ivar B MorascaUnited Kingdom2024-06-21Buckley Miller Wright NEW43Anna Fali
1045Leja C BriddickArgentina2024-06-09Morlong Associates UNQUALIFIED6Anna Fali
1046Ricardo D MorascaRussia2024-06-04Benton, John B Jr UNQUALIFIED54Amy Elsner
1047Mayumi Y MaletItaly2024-06-18Benton, John B Jr NEW17Onyama Limba
1048Greenwood M FerenczBrazil2024-06-05Rousseaux, Michael Esq RENEWAL68Onyama Limba
1049Clifford T CaudyJapan2024-06-22Rangoni Of Florence PROPOSAL83Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ricardo C NickaArgentinaAnna Fali NEGOTIATION
Cody S PerinIndiaElwin Sharvill PROPOSAL
Johnson R StensethFranceIvan Magalhaes UNQUALIFIED
Mayumi M RoysterJapanIoni Bowcher PROPOSAL
Salvatore B RutaAustraliaOnyama Limba UNQUALIFIED
Wickens F FerenczCanadaAsiya Javayant NEW
Arvin X VocelkaUnited KingdomElwin Sharvill QUALIFIED
Emily J TollnerFranceElwin Sharvill QUALIFIED
Kaitlin T DarakjyGermanyAsiya Javayant NEGOTIATION
Munro K VocelkaJapanAnna Fali UNQUALIFIED
Ivar Y SergiRussiaAsiya Javayant PROPOSAL
Julie F WieserUnited KingdomIvan Magalhaes PROPOSAL
James Y KuskoCanadaIoni Bowcher PROPOSAL
Emily T CaudyRussiaAnna Fali PROPOSAL
David W DilliardCanadaOnyama Limba NEW
Silvio Z DilliardIndiaIoni Bowcher NEW
James I GlickArgentinaStephen Shaw UNQUALIFIED
Smith L KuskoRussiaAsiya Javayant RENEWAL
Ashley D FerenczItalyXuxue Feng QUALIFIED
Juan T CampainJapanOnyama Limba QUALIFIED
Smith C PaprockiUnited KingdomStephen Shaw RENEWAL
Maisha F AmigonSpainXuxue Feng QUALIFIED
Jeanfrancois G GarufiArgentinaElwin Sharvill RENEWAL
Ivar B WaycottCanadaStephen Shaw QUALIFIED
Maisha C TollnerRussiaXuxue Feng NEGOTIATION
Arvin Z DarakjyFranceAnna Fali PROPOSAL
Ivar E MarrierBrazilAmy Elsner UNQUALIFIED
Izzy C BriddickFranceIvan Magalhaes NEGOTIATION
Wickens L MarrierUnited KingdomStephen Shaw NEW
Morrow Y RutaUnited KingdomXuxue Feng NEGOTIATION
Jefferson S ButtArgentinaIoni Bowcher NEGOTIATION
Leon Q DoeJapanIvan Magalhaes NEW
Juan A ShinkoAustraliaElwin Sharvill NEGOTIATION
Salvatore U DilliardArgentinaStephen Shaw PROPOSAL
Clifford E WieserJapanXuxue Feng NEGOTIATION
Kaitlin T SchemmerUnited KingdomAnna Fali NEW
Adams O DilliardSpainAmy Elsner NEW
David M IturbideGermanyAmy Elsner RENEWAL
Kadeem S OstroskyArgentinaElwin Sharvill NEW
Emily K GlickItalyBernardo Dominic RENEWAL
Julie N ShinkoGermanyXuxue Feng QUALIFIED
Aruna Z MaletUnited KingdomAmy Elsner RENEWAL
Tony L CaldareraJapanAmy Elsner UNQUALIFIED
Juan N RulapaughBrazilXuxue Feng NEW
Misaki J GarufiUnited KingdomIvan Magalhaes QUALIFIED
Francesco B ShinkoJapanAsiya Javayant RENEWAL
Cody N AlbaresBrazilXuxue Feng NEW
Aruna Z WieserSpainStephen Shaw NEGOTIATION
Aika J BriddickArgentinaElwin Sharvill UNQUALIFIED
Aruna B InouyeUnited KingdomAnna Fali PROPOSAL
Frozen Columns
Name
Leon V Ferencz
Tony L Marrier
Morrow G Darakjy
Deepesh G Oldroyd
Chavez C Campain
Costa S Doe
Adams N Stenseth
Costa B Gillian
Juan A Morasca
Aditya F Royster
James K Ferencz
Kadeem G Amigon
Claire G Doe
Izzy S Garufi
Izzy W Bolognia
Jennifer J Royster
Stacey B Gillian
Stacey J Gillian
Adams B Briddick
Rodrigues C Nicka
Maria H Vocelka
Ricardo M Iturbide
Maisha W Sergi
Alejandro Z Ferencz
Antonio H Amigon
Maria R Malet
Jones E Shinko
Ricardo G Figeroa
Mayumi K Paprocki
Johnson B Inouye
Deepesh G Figeroa
Leja D Albares
Clifford W Amigon
Nicolas G Venere
Alejandro E Sergi
Sinclair P Stockham
Aika F Schemmer
Mujtaba Y Iturbide
Stacey Y Perin
James H Nicka
Morrow R Wieser
Maria M Campain
Nicolas N Doe
Munro W Gaucho
Jeanfrancois B Stockham
Deepesh E Garufi
Clifford P Maclead
Rodrigues F Briddick
Johnson W Tollner
Rodrigues F Stenseth
IdCountryDate
1000United Kingdom2024-05-24
1001India2024-06-22
1002India2024-05-25
1003United Kingdom2024-06-03
1004Russia2024-05-26
1005India2024-06-06
1006Australia2024-06-04
1007France2024-06-19
1008France2024-05-30
1009France2024-06-07
1010India2024-06-16
1011Canada2024-06-19
1012India2024-06-19
1013Brazil2024-06-07
1014United Kingdom2024-06-13
1015Russia2024-05-30
1016Russia2024-06-01
1017Brazil2024-06-22
1018Italy2024-06-16
1019Brazil2024-06-16
1020France2024-06-22
1021India2024-06-13
1022Argentina2024-06-21
1023Australia2024-06-05
1024Germany2024-06-20
1025Italy2024-06-02
1026Australia2024-05-31
1027France2024-06-05
1028India2024-06-22
1029Spain2024-05-29
1030Russia2024-05-28
1031France2024-06-21
1032France2024-06-06
1033Japan2024-05-28
1034Argentina2024-06-11
1035Japan2024-05-31
1036Japan2024-06-05
1037Canada2024-06-22
1038United Kingdom2024-06-08
1039Australia2024-06-11
1040Australia2024-06-08
1041Spain2024-06-08
1042France2024-05-26
1043Canada2024-05-30
1044Italy2024-05-31
1045Spain2024-05-31
1046Spain2024-05-26
1047India2024-05-30
1048Italy2024-06-05
1049United Kingdom2024-06-21

On-Demand Data

NameIdCountryDate
Greenwood E Doe1000Spain2024-05-25
Clifford O Ostrosky1001Argentina2024-06-20
Costa A Saylors1002Germany2024-05-27
Mujtaba Z Inouye1003France2024-06-19
Faith E Wieser1004Australia2024-06-13
Ivar P Iturbide1005Italy2024-06-12
Adams Z Doe1006Japan2024-06-14
Deepesh M Dilliard1007Germany2024-06-14
Aika D Malet1008Argentina2024-06-08
Jeanfrancois M Figeroa1009Japan2024-06-02
Chavez K Shinko1010India2024-06-12
Maria H Kolmetz1011Germany2024-06-12
Aditya H Nicka1012Canada2024-06-14
Jefferson H Albares1013Germany2024-05-28
David C Sergi1014France2024-06-19
Julie S Briddick1015France2024-06-21
Aditya K Glick1016Russia2024-06-19
Octavia G Vocelka1017Germany2024-06-21
Jones X Figeroa1018France2024-05-27
Kadeem Y Tollner1019United Kingdom2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia T CampainArgentinaAsiya Javayant UNQUALIFIED
Jones S PerinJapanXuxue Feng NEW
Clifford L GauchoIndiaIoni Bowcher NEW
Darci L RutaIndiaStephen Shaw NEGOTIATION
Juan K PoquetteRussiaIvan Magalhaes RENEWAL
Deepesh U GillianSpainOnyama Limba NEGOTIATION
Nicolas G CampainArgentinaXuxue Feng NEGOTIATION
James Q PerinRussiaAmy Elsner RENEWAL
Kaitlin Y PerinAustraliaStephen Shaw NEW
Claire X KuskoAustraliaElwin Sharvill QUALIFIED
Aditya D CaldareraBrazilIoni Bowcher UNQUALIFIED
Darci H IturbideCanadaStephen Shaw NEW
Izzy G ChuiBrazilStephen Shaw QUALIFIED
Wickens V SergiSpainAmy Elsner NEGOTIATION
Tony R SaylorsItalyOnyama Limba NEGOTIATION
Octavia L NestleAustraliaXuxue Feng RENEWAL
Francesco S RutaIndiaIoni Bowcher RENEWAL
James I NickaCanadaIvan Magalhaes RENEWAL
Cody L SlusarskiBrazilStephen Shaw RENEWAL
Arvin R FigeroaUnited KingdomAsiya Javayant PROPOSAL
Emily J FerenczGermanyBernardo Dominic PROPOSAL
Clifford P BriddickIndiaBernardo Dominic NEW
Francesco Q ShinkoGermanyAnna Fali UNQUALIFIED
Costa L DarakjyCanadaBernardo Dominic QUALIFIED
Jefferson F BowleyJapanIoni Bowcher UNQUALIFIED
Francesco T OstroskyBrazilAmy Elsner RENEWAL
Adams G PaprockiCanadaElwin Sharvill UNQUALIFIED
Kadeem E ShinkoAustraliaOnyama Limba NEW
Stacey I OstroskyArgentinaXuxue Feng NEGOTIATION
Kadeem Z VenereSpainAnna Fali NEGOTIATION
Faith R BologniaRussiaAmy Elsner NEGOTIATION
Ashley Z KolmetzBrazilBernardo Dominic NEGOTIATION
Tony I DilliardJapanAsiya Javayant PROPOSAL
Costa S SergiRussiaOnyama Limba NEW
Isabel W BologniaCanadaStephen Shaw NEW
Octavia A BologniaUnited KingdomStephen Shaw NEW
Misaki Z WaycottCanadaAmy Elsner UNQUALIFIED
Alejandro W MacleadUnited KingdomAnna Fali NEW
Antonio O StensethBrazilElwin Sharvill RENEWAL
Isabel V KolmetzSpainIvan Magalhaes 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>