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 D CaudyCanadaIoni Bowcher UNQUALIFIED
Francesco J NestleJapanOnyama Limba UNQUALIFIED
Alejandro V MorascaRussiaAnna Fali NEGOTIATION
Darci Y CaudyArgentinaOnyama Limba PROPOSAL
Arvin X KuskoFranceBernardo Dominic UNQUALIFIED
Munro W StockhamCanadaAmy Elsner NEW
Adams P StensethItalyBernardo Dominic PROPOSAL
Isabel X ChuiCanadaXuxue Feng PROPOSAL
Aruna K AmigonAustraliaAnna Fali UNQUALIFIED
Francesco A MaletAustraliaElwin Sharvill NEW
Francesco C BowleyArgentinaAmy Elsner RENEWAL
James D PerinJapanAmy Elsner QUALIFIED
Adams A CaudyIndiaElwin Sharvill NEW
Tony E GauchoAustraliaOnyama Limba PROPOSAL
Smith F KolmetzFranceXuxue Feng PROPOSAL
Aika U StensethBrazilStephen Shaw NEW
Alejandro H TollnerArgentinaStephen Shaw RENEWAL
James T RutaArgentinaStephen Shaw NEGOTIATION
Salvatore W MarrierJapanAsiya Javayant RENEWAL
Wickens B SaylorsJapanAmy Elsner PROPOSAL
Adams U PoquetteFranceIvan Magalhaes RENEWAL
Stacey P GauchoJapanAmy Elsner QUALIFIED
Leja W OldroydIndiaAnna Fali QUALIFIED
Salvatore A DilliardJapanElwin Sharvill NEGOTIATION
Clifford P FollerRussiaAsiya Javayant NEW
Faith K PoquetteArgentinaElwin Sharvill UNQUALIFIED
Mayumi F PaprockiBrazilIvan Magalhaes RENEWAL
Aika H SaylorsBrazilBernardo Dominic NEW
Leon K MacleadItalyElwin Sharvill UNQUALIFIED
Clifford P AlbaresRussiaAnna Fali UNQUALIFIED
Morrow W SaylorsRussiaIoni Bowcher UNQUALIFIED
Maisha W PaprockiAustraliaOnyama Limba RENEWAL
Mayumi W AmigonGermanyOnyama Limba PROPOSAL
Clifford Q AmigonIndiaAsiya Javayant PROPOSAL
Ivar G SlusarskiCanadaOnyama Limba PROPOSAL
Leja G KuskoArgentinaElwin Sharvill QUALIFIED
Emily G MaletBrazilIvan Magalhaes PROPOSAL
Isabel I GauchoCanadaOnyama Limba QUALIFIED
Octavia H BriddickCanadaAmy Elsner NEW
Jeanfrancois A TollnerSpainXuxue Feng QUALIFIED
Faith L PaprockiRussiaStephen Shaw RENEWAL
Leja P RutaItalyElwin Sharvill UNQUALIFIED
Juan A GillianArgentinaElwin Sharvill QUALIFIED
Alejandro B GillianUnited KingdomElwin Sharvill PROPOSAL
Smith T GarufiSpainAmy Elsner NEGOTIATION
Jennifer V IturbideJapanAsiya Javayant UNQUALIFIED
Kaitlin P MarrierArgentinaAsiya Javayant QUALIFIED
Ashley S RutaFranceElwin Sharvill NEGOTIATION
Octavia R TollnerGermanyXuxue Feng QUALIFIED
Wickens J FollerAustraliaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Murillo L FigeroaItalyXuxue Feng PROPOSAL
Costa I GillianGermanyOnyama Limba NEW
Jones B FollerSpainBernardo Dominic NEGOTIATION
Rodrigues L BriddickGermanyAnna Fali RENEWAL
Arvin M AmigonGermanyAnna Fali QUALIFIED
Jefferson T WieserBrazilIoni Bowcher RENEWAL
Kadeem G PoquetteRussiaXuxue Feng NEGOTIATION
Costa M MarrierGermanyElwin Sharvill QUALIFIED
Wickens B WieserFranceElwin Sharvill NEW
Jefferson J GlickBrazilAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro V GillianJapan2024-06-12Truhlar And Truhlar Attys QUALIFIED59Elwin Sharvill
1001Jennifer I GarufiIndia2024-06-02Commercial Press QUALIFIED64Bernardo Dominic
1002Leon P NestleItaly2024-06-16Printing Dimensions PROPOSAL71Ivan Magalhaes
1003Maria A SergiAustralia2024-06-09Rangoni Of Florence UNQUALIFIED98Onyama Limba
1004Mayumi F CaldareraSpain2024-06-23Feltz Printing Service NEGOTIATION97Amy Elsner
1005Mujtaba H GlickSpain2024-06-16Commercial Press PROPOSAL69Ioni Bowcher
1006Mayumi P DilliardUnited Kingdom2024-06-13Chemel, James L Cpa NEW93Ioni Bowcher
1007Nicolas X ButtFrance2024-06-24Printing Dimensions RENEWAL50Asiya Javayant
1008Adams V NickaItaly2024-06-22Chemel, James L Cpa RENEWAL73Asiya Javayant
1009Misaki V FlosiJapan2024-06-18Buckley Miller Wright QUALIFIED16Ivan Magalhaes
1010Darci P StockhamJapan2024-06-16King, Christopher A Esq NEW4Asiya Javayant
1011Leja J FollerUnited Kingdom2024-05-31Feltz Printing Service NEW7Stephen Shaw
1012Aruna L SchemmerSpain2024-06-24Chapman, Ross E Esq PROPOSAL80Onyama Limba
1013Stacey X NickaSpain2024-06-19Chemel, James L Cpa RENEWAL81Ioni Bowcher
1014Darci N AlbaresCanada2024-05-31Morlong Associates NEGOTIATION89Anna Fali
1015Kadeem F MacleadFrance2024-06-19Printing Dimensions RENEWAL15Ivan Magalhaes
1016James R SaylorsArgentina2024-06-14Commercial Press PROPOSAL63Amy Elsner
1017Nicolas C SaylorsGermany2024-05-28Truhlar And Truhlar Attys PROPOSAL21Xuxue Feng
1018Faith C WhobreySpain2024-06-24Chemel, James L Cpa QUALIFIED6Xuxue Feng
1019Aditya D DoeRussia2024-06-15Feiner Bros NEGOTIATION83Amy Elsner
1020Ricardo W MorascaSpain2024-05-26Chanay, Jeffrey A Esq NEGOTIATION43Asiya Javayant
1021Maria C KolmetzArgentina2024-06-06Benton, John B Jr UNQUALIFIED7Amy Elsner
1022Francesco H FlosiIndia2024-06-12Benton, John B Jr RENEWAL52Bernardo Dominic
1023Mujtaba I StensethJapan2024-06-19Buckley Miller Wright UNQUALIFIED90Xuxue Feng
1024Juan N SlusarskiArgentina2024-06-07Commercial Press NEGOTIATION4Xuxue Feng
1025Darci G DilliardUnited Kingdom2024-06-15Rousseaux, Michael Esq UNQUALIFIED41Onyama Limba
1026Murillo H VenereAustralia2024-06-10Commercial Press NEW47Ivan Magalhaes
1027Faith I MaletJapan2024-06-20Chapman, Ross E Esq NEGOTIATION68Stephen Shaw
1028Ashley S DilliardGermany2024-06-21Benton, John B Jr PROPOSAL10Anna Fali
1029Jefferson Z PoquetteUnited Kingdom2024-06-20Chapman, Ross E Esq NEW35Amy Elsner
1030Smith N KolmetzSpain2024-06-01Rangoni Of Florence NEW18Amy Elsner
1031Jones O NestleFrance2024-06-02Morlong Associates UNQUALIFIED71Elwin Sharvill
1032Aditya B MaletUnited Kingdom2024-06-15Feiner Bros NEW5Asiya Javayant
1033Mayumi X GauchoSpain2024-05-29Truhlar And Truhlar Attys RENEWAL19Amy Elsner
1034Smith I KolmetzGermany2024-06-19Dorl, James J Esq NEW30Ioni Bowcher
1035Morrow C PoquetteItaly2024-06-20Printing Dimensions NEW51Stephen Shaw
1036Jennifer J ButtArgentina2024-06-22Commercial Press UNQUALIFIED86Ivan Magalhaes
1037Aruna O RimCanada2024-05-28Chapman, Ross E Esq RENEWAL35Asiya Javayant
1038Costa X SergiGermany2024-06-12Rousseaux, Michael Esq RENEWAL21Anna Fali
1039Misaki Z DarakjyIndia2024-05-27Chanay, Jeffrey A Esq NEW43Ivan Magalhaes
1040Adams O CaudyFrance2024-06-18Chapman, Ross E Esq QUALIFIED97Xuxue Feng
1041Ashley E StockhamFrance2024-06-05Chapman, Ross E Esq QUALIFIED9Asiya Javayant
1042Arvin D ButtCanada2024-06-20Feiner Bros NEW2Onyama Limba
1043Rodrigues E SaylorsGermany2024-05-26Rousseaux, Michael Esq NEGOTIATION91Ioni Bowcher
1044Arvin Z MaletIndia2024-06-11Benton, John B Jr NEGOTIATION26Xuxue Feng
1045Morrow P PaprockiGermany2024-06-12Chemel, James L Cpa PROPOSAL85Anna Fali
1046Faith Y FigeroaJapan2024-06-03Chapman, Ross E Esq QUALIFIED58Xuxue Feng
1047Smith A GauchoRussia2024-05-30Rousseaux, Michael Esq NEGOTIATION48Xuxue Feng
1048Adams B CaudyCanada2024-06-02Chapman, Ross E Esq NEGOTIATION19Asiya Javayant
1049Stacey N FerenczIndia2024-06-10Benton, John B Jr NEGOTIATION17Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kadeem J NickaUnited KingdomAnna Fali UNQUALIFIED
Faith U OldroydIndiaAnna Fali QUALIFIED
Aditya K BriddickJapanIvan Magalhaes NEW
Deepesh V MorascaCanadaAmy Elsner NEW
Claire C SergiUnited KingdomIoni Bowcher NEGOTIATION
Mayumi R FerenczBrazilAsiya Javayant NEGOTIATION
David J RoysterGermanyIvan Magalhaes RENEWAL
Maisha B PoquetteCanadaElwin Sharvill UNQUALIFIED
Munro T FollerFranceBernardo Dominic PROPOSAL
David P FigeroaSpainElwin Sharvill PROPOSAL
Leja Z RulapaughGermanyIvan Magalhaes QUALIFIED
Munro W GauchoAustraliaAsiya Javayant NEGOTIATION
Smith B FollerIndiaElwin Sharvill NEW
Ivar X MaletGermanyAnna Fali PROPOSAL
Aika I GillianIndiaOnyama Limba NEGOTIATION
Tony I DilliardItalyOnyama Limba PROPOSAL
Costa X VocelkaItalyBernardo Dominic NEGOTIATION
Kadeem M FigeroaSpainOnyama Limba UNQUALIFIED
Arvin Z MorascaAustraliaOnyama Limba QUALIFIED
Stacey A MarrierGermanyIoni Bowcher NEGOTIATION
Octavia N MaletJapanAnna Fali NEW
Costa E PoquetteFranceElwin Sharvill RENEWAL
Francesco J AlbaresSpainElwin Sharvill QUALIFIED
Jones K MacleadAustraliaIvan Magalhaes NEGOTIATION
Aditya R GlickAustraliaIoni Bowcher UNQUALIFIED
Juan F RulapaughFranceIvan Magalhaes QUALIFIED
Aruna W GillianIndiaAnna Fali RENEWAL
Claire T DarakjyFranceAmy Elsner UNQUALIFIED
Salvatore O CampainSpainXuxue Feng RENEWAL
Mujtaba Q StockhamRussiaAsiya Javayant NEGOTIATION
Deepesh C NickaIndiaXuxue Feng NEW
David G PerinRussiaXuxue Feng UNQUALIFIED
Costa V WieserRussiaAnna Fali UNQUALIFIED
Faith S NickaArgentinaXuxue Feng UNQUALIFIED
Ashley Q FollerJapanStephen Shaw UNQUALIFIED
Aruna I WieserRussiaBernardo Dominic PROPOSAL
Claire M IturbideBrazilOnyama Limba NEW
Sinclair Z MarrierAustraliaAsiya Javayant QUALIFIED
Claire M StockhamIndiaAnna Fali NEW
Mujtaba G DoeCanadaXuxue Feng UNQUALIFIED
Nicolas S MaletAustraliaIvan Magalhaes PROPOSAL
Emily M ButtCanadaAsiya Javayant NEGOTIATION
Tony P PerinFranceBernardo Dominic RENEWAL
Chavez E KolmetzFranceAsiya Javayant RENEWAL
Stacey Z MarrierSpainIvan Magalhaes UNQUALIFIED
Johnson C OldroydFranceBernardo Dominic NEGOTIATION
Adams V ChuiArgentinaElwin Sharvill UNQUALIFIED
Stacey B ButtCanadaIvan Magalhaes NEW
Antonio O KolmetzCanadaIoni Bowcher NEGOTIATION
Silvio L BologniaSpainAmy Elsner NEGOTIATION
Frozen Columns
Name
Antonio W Tollner
Mayumi X Gillian
Emily V Nicka
Deepesh V Sergi
Adams D Briddick
Kaitlin G Nicka
Emily A Caldarera
Isabel D Maclead
Jeanfrancois P Flosi
Alejandro V Maclead
David G Vocelka
Darci A Rim
Maisha Z Royster
Leon N Paprocki
Misaki N Gaucho
Antonio M Doe
Juan M Oldroyd
Jennifer N Malet
Leon P Caudy
Darci Q Ruta
Johnson D Rulapaugh
Leja A Ferencz
Jeanfrancois L Morasca
Munro L Flosi
Greenwood D Gaucho
Emily B Bowley
Jeanfrancois S Venere
Salvatore M Ruta
Cody Z Amigon
Misaki D Stenseth
Sinclair G Waycott
Deepesh T Darakjy
Costa A Briddick
Mujtaba R Saylors
Claire U Tollner
Claire C Schemmer
Aika X Shinko
Rodrigues D Shinko
Leon O Stockham
Leja W Butt
Wickens F Tollner
Darci G Stenseth
Jeanfrancois R Doe
Adams T Iturbide
Ricardo G Doe
Misaki K Caudy
Smith L Perin
Tony Y Chui
Cody N Tollner
Maisha C Bolognia
IdCountryDate
1000Spain2024-06-19
1001Spain2024-06-13
1002Brazil2024-06-01
1003Italy2024-06-19
1004Brazil2024-06-22
1005Spain2024-06-12
1006United Kingdom2024-06-06
1007Canada2024-06-06
1008Spain2024-06-16
1009Argentina2024-06-18
1010Japan2024-06-24
1011Brazil2024-06-20
1012Argentina2024-06-24
1013France2024-05-30
1014Russia2024-06-04
1015Brazil2024-06-02
1016Germany2024-06-08
1017United Kingdom2024-05-30
1018Germany2024-06-02
1019Canada2024-06-19
1020Japan2024-06-04
1021Brazil2024-05-27
1022Italy2024-06-05
1023Canada2024-06-02
1024Germany2024-06-21
1025Spain2024-06-19
1026Italy2024-06-24
1027Brazil2024-06-15
1028Russia2024-06-09
1029Argentina2024-06-08
1030Russia2024-06-16
1031Germany2024-06-05
1032Argentina2024-06-16
1033India2024-06-21
1034France2024-06-16
1035Canada2024-06-08
1036India2024-06-20
1037Germany2024-05-26
1038Russia2024-06-18
1039Canada2024-05-27
1040United Kingdom2024-06-14
1041Spain2024-06-22
1042Japan2024-05-30
1043Japan2024-05-29
1044Italy2024-06-05
1045Argentina2024-06-12
1046Australia2024-06-17
1047Russia2024-06-09
1048United Kingdom2024-06-05
1049Argentina2024-05-27

On-Demand Data

NameIdCountryDate
Rodrigues M Rim1000Brazil2024-06-03
Antonio S Ferencz1001Japan2024-06-05
Octavia Z Wieser1002Canada2024-05-27
Jones X Caudy1003United Kingdom2024-06-20
Alejandro Q Malet1004Germany2024-06-07
Alejandro Z Rulapaugh1005Spain2024-05-31
Izzy C Campain1006India2024-05-29
Emily D Caudy1007Japan2024-06-07
Maria H Gaucho1008Spain2024-06-16
Julie R Oldroyd1009India2024-05-30
Cody T Kolmetz1010Australia2024-06-01
Jennifer N Wieser1011Japan2024-06-08
Leja Q Bowley1012France2024-06-09
Antonio X Vocelka1013Italy2024-06-08
Faith S Bolognia1014Australia2024-06-02
Juan V Chui1015Germany2024-06-15
Leon A Kolmetz1016France2024-06-23
Jeanfrancois A Paprocki1017Italy2024-06-22
Greenwood F Morasca1018Argentina2024-05-30
Darci Q Ferencz1019Brazil2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey Z PaprockiSpainElwin Sharvill NEGOTIATION
Mujtaba S StensethAustraliaIvan Magalhaes QUALIFIED
Chavez N AlbaresAustraliaOnyama Limba NEW
Claire D PerinItalyAnna Fali UNQUALIFIED
Jeanfrancois T FigeroaUnited KingdomOnyama Limba RENEWAL
Kadeem J ShinkoFranceOnyama Limba NEGOTIATION
Jeanfrancois V OstroskyRussiaStephen Shaw NEW
Maria N VenereFranceStephen Shaw UNQUALIFIED
Johnson N MorascaItalyStephen Shaw NEW
Leja A PerinRussiaOnyama Limba UNQUALIFIED
Leon G NickaBrazilAmy Elsner UNQUALIFIED
Munro N SchemmerFranceOnyama Limba NEGOTIATION
James L DoeBrazilIvan Magalhaes QUALIFIED
Jefferson A BologniaGermanyElwin Sharvill PROPOSAL
Octavia F SergiIndiaOnyama Limba PROPOSAL
Salvatore Q GarufiJapanIoni Bowcher RENEWAL
Ivar Q CampainUnited KingdomIoni Bowcher QUALIFIED
Salvatore X GarufiCanadaOnyama Limba NEGOTIATION
Morrow F FollerIndiaBernardo Dominic NEW
Maisha V KolmetzJapanOnyama Limba NEW
Antonio R BriddickItalyAmy Elsner NEW
Deepesh X SergiSpainOnyama Limba PROPOSAL
Julie K RimIndiaStephen Shaw PROPOSAL
Alejandro L MaletItalyBernardo Dominic PROPOSAL
Antonio A CaldareraGermanyAnna Fali UNQUALIFIED
Chavez X GarufiCanadaIoni Bowcher RENEWAL
Ivar W BowleyUnited KingdomOnyama Limba UNQUALIFIED
Salvatore F PoquetteGermanyXuxue Feng PROPOSAL
Alejandro O SergiCanadaBernardo Dominic QUALIFIED
Aruna X OldroydIndiaIvan Magalhaes PROPOSAL
Aika C PerinFranceXuxue Feng PROPOSAL
Juan I CaudyIndiaIvan Magalhaes PROPOSAL
Silvio X RimBrazilOnyama Limba NEW
Adams U FollerGermanyStephen Shaw UNQUALIFIED
Octavia I AmigonItalyIvan Magalhaes PROPOSAL
Costa G KolmetzGermanyBernardo Dominic NEGOTIATION
Jefferson S NestleAustraliaAnna Fali NEW
Ivar D DarakjySpainOnyama Limba UNQUALIFIED
Izzy D NickaGermanyXuxue Feng QUALIFIED
Mujtaba H InouyeFranceAsiya Javayant 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>