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
Costa U MorascaAustraliaIvan Magalhaes QUALIFIED
Alejandro O FollerGermanyStephen Shaw RENEWAL
Murillo V FerenczBrazilBernardo Dominic RENEWAL
Kadeem H WaycottArgentinaXuxue Feng QUALIFIED
Nicolas E OldroydArgentinaOnyama Limba RENEWAL
Claire E VenereSpainAnna Fali RENEWAL
Nicolas Y BologniaGermanyOnyama Limba RENEWAL
Silvio Z FigeroaItalyAnna Fali NEGOTIATION
Isabel M KuskoIndiaElwin Sharvill NEGOTIATION
Chavez I VocelkaFranceStephen Shaw NEW
Cody R MaletUnited KingdomOnyama Limba UNQUALIFIED
Chavez H PoquetteSpainElwin Sharvill NEW
Tony Z AlbaresItalyAnna Fali PROPOSAL
Chavez B SchemmerIndiaOnyama Limba PROPOSAL
Maisha A OldroydAustraliaElwin Sharvill NEGOTIATION
Nicolas K FigeroaArgentinaAnna Fali UNQUALIFIED
Maria R WieserBrazilAmy Elsner PROPOSAL
Morrow R TollnerArgentinaIvan Magalhaes RENEWAL
James E WieserJapanBernardo Dominic PROPOSAL
Deepesh R SchemmerBrazilAsiya Javayant NEW
Faith L GauchoGermanyStephen Shaw NEW
Chavez N KolmetzItalyIvan Magalhaes UNQUALIFIED
Mayumi M PerinCanadaAsiya Javayant NEW
Ricardo T SergiGermanyBernardo Dominic NEW
Ricardo I RoysterJapanBernardo Dominic RENEWAL
Greenwood F RulapaughUnited KingdomAmy Elsner RENEWAL
Greenwood W OldroydUnited KingdomAnna Fali NEGOTIATION
Sinclair D RulapaughJapanAmy Elsner PROPOSAL
Alejandro X ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio I WhobreyIndiaElwin Sharvill NEW
Rodrigues R MarrierAustraliaElwin Sharvill UNQUALIFIED
Jones K WieserAustraliaBernardo Dominic PROPOSAL
Darci T VenereBrazilIvan Magalhaes NEGOTIATION
Francesco R BriddickCanadaXuxue Feng PROPOSAL
Ashley I DilliardCanadaAnna Fali NEW
Julie R DilliardCanadaIoni Bowcher QUALIFIED
Rodrigues K CaudyAustraliaAnna Fali NEGOTIATION
Wickens U PaprockiJapanAmy Elsner RENEWAL
Octavia R TollnerRussiaIvan Magalhaes NEGOTIATION
Jeanfrancois S VocelkaUnited KingdomXuxue Feng PROPOSAL
Adams Z KuskoUnited KingdomXuxue Feng NEW
Claire I SlusarskiJapanStephen Shaw QUALIFIED
Emily Y DarakjyAustraliaAmy Elsner UNQUALIFIED
Munro R PaprockiArgentinaAnna Fali NEW
Nicolas Y FollerArgentinaIvan Magalhaes RENEWAL
Emily K StensethIndiaOnyama Limba UNQUALIFIED
Ivar K RoysterGermanyXuxue Feng RENEWAL
Leja S KuskoIndiaElwin Sharvill QUALIFIED
Johnson G BriddickArgentinaAmy Elsner NEW
Adams F PerinItalyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon L PerinArgentinaAmy Elsner QUALIFIED
Jefferson M RutaRussiaAsiya Javayant NEW
Sinclair E RutaItalyAsiya Javayant NEW
James M DarakjyItalyElwin Sharvill PROPOSAL
Faith Q OldroydBrazilBernardo Dominic UNQUALIFIED
Aika F FollerGermanyBernardo Dominic RENEWAL
Johnson D CaudyUnited KingdomIoni Bowcher UNQUALIFIED
Cody B DilliardItalyStephen Shaw PROPOSAL
Isabel A FerenczBrazilElwin Sharvill QUALIFIED
Julie J RutaJapanXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair L KolmetzBrazil2025-04-07Chapman, Ross E Esq NEGOTIATION39Elwin Sharvill
1001Julie N StockhamGermany2025-04-28Feltz Printing Service NEGOTIATION37Asiya Javayant
1002Clifford U InouyeGermany2025-04-03Printing Dimensions RENEWAL7Bernardo Dominic
1003David G DarakjyItaly2025-04-18Feltz Printing Service PROPOSAL72Anna Fali
1004Sinclair C PerinSpain2025-04-26Commercial Press RENEWAL29Ioni Bowcher
1005Isabel W AlbaresArgentina2025-04-25Feiner Bros NEGOTIATION30Bernardo Dominic
1006Aditya X OstroskyUnited Kingdom2025-04-15Commercial Press NEW0Ivan Magalhaes
1007Jennifer F DoeFrance2025-04-25Chemel, James L Cpa QUALIFIED40Xuxue Feng
1008Darci W AmigonFrance2025-04-10Chemel, James L Cpa PROPOSAL48Ioni Bowcher
1009Smith P FigeroaJapan2025-04-25Morlong Associates NEW8Amy Elsner
1010Silvio V NestleBrazil2025-04-17Morlong Associates UNQUALIFIED59Onyama Limba
1011Sinclair D FollerUnited Kingdom2025-04-27Rangoni Of Florence RENEWAL54Bernardo Dominic
1012Faith K RutaAustralia2025-04-17Chanay, Jeffrey A Esq PROPOSAL44Onyama Limba
1013Juan Z VenereUnited Kingdom2025-04-16King, Christopher A Esq NEW77Asiya Javayant
1014Murillo L WaycottJapan2025-04-23Buckley Miller Wright QUALIFIED61Elwin Sharvill
1015Silvio C MarrierItaly2025-04-22Chapman, Ross E Esq PROPOSAL51Bernardo Dominic
1016Jennifer M FollerUnited Kingdom2025-04-03Dorl, James J Esq NEGOTIATION43Amy Elsner
1017David T CaldareraIndia2025-04-03Truhlar And Truhlar Attys NEGOTIATION24Xuxue Feng
1018Ivar Y MaletUnited Kingdom2025-04-21Chapman, Ross E Esq QUALIFIED3Anna Fali
1019Ashley S DilliardGermany2025-04-09Benton, John B Jr PROPOSAL93Stephen Shaw
1020Izzy Z SaylorsCanada2025-04-23Truhlar And Truhlar Attys QUALIFIED46Ivan Magalhaes
1021Costa L MarrierRussia2025-04-29Benton, John B Jr PROPOSAL95Asiya Javayant
1022Rodrigues C WieserFrance2025-04-07Buckley Miller Wright NEGOTIATION4Stephen Shaw
1023Sinclair N KuskoJapan2025-04-03Truhlar And Truhlar Attys NEW89Xuxue Feng
1024Misaki T NestleUnited Kingdom2025-04-08Chapman, Ross E Esq NEW52Xuxue Feng
1025Aditya N VenereGermany2025-04-11Feltz Printing Service NEGOTIATION94Anna Fali
1026Arvin H FlosiCanada2025-04-12King, Christopher A Esq NEW72Ivan Magalhaes
1027Mujtaba C WaycottRussia2025-04-01Truhlar And Truhlar Attys NEW11Anna Fali
1028Morrow E BowleyCanada2025-04-27Chemel, James L Cpa NEW58Xuxue Feng
1029Sinclair U FigeroaItaly2025-04-16Chapman, Ross E Esq NEW86Amy Elsner
1030Jefferson E BriddickIndia2025-04-08Commercial Press PROPOSAL14Onyama Limba
1031Claire X InouyeIndia2025-04-27Dorl, James J Esq UNQUALIFIED64Ivan Magalhaes
1032Juan M CampainAustralia2025-04-13Dorl, James J Esq NEGOTIATION65Anna Fali
1033Arvin H RoysterBrazil2025-04-27Feltz Printing Service NEGOTIATION16Anna Fali
1034Ivar E NestleUnited Kingdom2025-04-24Feiner Bros RENEWAL34Ioni Bowcher
1035Silvio Q CaldareraItaly2025-04-23Rousseaux, Michael Esq NEW74Onyama Limba
1036Juan O DoeSpain2025-04-28Rousseaux, Michael Esq NEGOTIATION97Onyama Limba
1037Salvatore O DilliardIndia2025-04-20Feiner Bros RENEWAL19Amy Elsner
1038David Y AlbaresAustralia2025-04-23Commercial Press QUALIFIED94Asiya Javayant
1039Cody P OstroskyGermany2025-04-03Morlong Associates UNQUALIFIED11Onyama Limba
1040Isabel Q RutaCanada2025-04-01Rangoni Of Florence NEW39Elwin Sharvill
1041Leja A ButtItaly2025-04-22Chemel, James L Cpa RENEWAL59Elwin Sharvill
1042Salvatore P ChuiAustralia2025-04-11Benton, John B Jr RENEWAL13Anna Fali
1043Ashley B PoquetteGermany2025-03-31Rangoni Of Florence QUALIFIED89Ivan Magalhaes
1044Aruna U PerinSpain2025-04-17Printing Dimensions RENEWAL92Elwin Sharvill
1045Smith Q BriddickBrazil2025-04-07Rangoni Of Florence PROPOSAL45Amy Elsner
1046Kadeem L InouyeRussia2025-04-10Feltz Printing Service RENEWAL49Anna Fali
1047Deepesh K CampainIndia2025-04-06Chapman, Ross E Esq NEGOTIATION80Ioni Bowcher
1048Chavez C GlickJapan2025-04-01Dorl, James J Esq NEGOTIATION84Xuxue Feng
1049Mujtaba G VocelkaItaly2025-04-19Printing Dimensions RENEWAL25Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Faith B NickaFranceAnna Fali RENEWAL
Chavez F ChuiBrazilStephen Shaw UNQUALIFIED
Maisha E CaudyRussiaIoni Bowcher UNQUALIFIED
Murillo C MarrierSpainIvan Magalhaes RENEWAL
Chavez L GarufiAustraliaAsiya Javayant PROPOSAL
Kadeem R RutaIndiaAnna Fali UNQUALIFIED
Leja T NestleJapanAmy Elsner RENEWAL
Ashley G VocelkaArgentinaStephen Shaw PROPOSAL
Costa B MaletBrazilAmy Elsner QUALIFIED
Darci X RulapaughArgentinaAnna Fali PROPOSAL
Ricardo I FollerCanadaIvan Magalhaes UNQUALIFIED
Mujtaba E PoquetteItalyIvan Magalhaes QUALIFIED
Stacey W CampainAustraliaAnna Fali RENEWAL
Adams P CampainBrazilXuxue Feng RENEWAL
Aruna T SchemmerBrazilAnna Fali PROPOSAL
Jones S DilliardItalyElwin Sharvill PROPOSAL
Jennifer D MaletGermanyBernardo Dominic UNQUALIFIED
Morrow T KolmetzAustraliaAmy Elsner NEW
Jones V ChuiIndiaXuxue Feng PROPOSAL
Aika E MaletArgentinaIoni Bowcher NEW
Jefferson E InouyeArgentinaAmy Elsner RENEWAL
Ivar C SlusarskiArgentinaIvan Magalhaes QUALIFIED
Faith H GauchoItalyAmy Elsner RENEWAL
Faith I ShinkoIndiaElwin Sharvill RENEWAL
Leja E VocelkaBrazilStephen Shaw UNQUALIFIED
Leon G SlusarskiRussiaStephen Shaw RENEWAL
Claire P KolmetzIndiaAsiya Javayant NEGOTIATION
Faith X PoquetteFranceXuxue Feng RENEWAL
Izzy Y FollerJapanIvan Magalhaes NEGOTIATION
Misaki Y RimAustraliaXuxue Feng NEW
Maria U CaldareraArgentinaIvan Magalhaes UNQUALIFIED
Emily Q MacleadIndiaXuxue Feng NEW
Nicolas M OldroydJapanXuxue Feng NEW
Aika U RulapaughSpainIoni Bowcher QUALIFIED
Francesco W GlickJapanElwin Sharvill RENEWAL
Arvin N RoysterJapanXuxue Feng RENEWAL
Rodrigues N StensethJapanOnyama Limba NEW
Wickens A SchemmerCanadaAmy Elsner NEW
Izzy J RimGermanyIoni Bowcher UNQUALIFIED
Isabel D WieserIndiaAsiya Javayant RENEWAL
Isabel R DilliardArgentinaXuxue Feng NEGOTIATION
Darci S KuskoArgentinaOnyama Limba NEGOTIATION
Antonio U FerenczSpainOnyama Limba UNQUALIFIED
Ivar U RulapaughUnited KingdomAmy Elsner QUALIFIED
Darci J ChuiUnited KingdomIvan Magalhaes RENEWAL
Francesco Z PaprockiArgentinaXuxue Feng NEW
Antonio D AmigonFranceIvan Magalhaes QUALIFIED
Aika I OstroskySpainElwin Sharvill RENEWAL
Alejandro U WhobreyIndiaAsiya Javayant NEW
Stacey U ChuiUnited KingdomAnna Fali NEGOTIATION
Frozen Columns
Name
Smith X Rim
Maria A Rim
Chavez J Vocelka
Costa Z Glick
Mayumi B Inouye
Salvatore R Slusarski
Ivar G Foller
Aruna S Kolmetz
Jennifer E Venere
Emily N Schemmer
Faith B Waycott
Izzy H Nicka
Stacey R Butt
Murillo F Oldroyd
Stacey P Caldarera
Faith D Briddick
Leon W Perin
Greenwood V Tollner
Julie C Schemmer
Mayumi K Slusarski
Jefferson T Campain
Munro Y Garufi
Faith I Oldroyd
Jennifer F Gillian
Isabel E Sergi
Jennifer M Whobrey
Julie O Maclead
Maria W Kolmetz
Mayumi B Marrier
Cody K Albares
Ivar S Gillian
Antonio U Wieser
Clifford O Whobrey
Jones C Perin
Jefferson V Oldroyd
Leja C Whobrey
Kaitlin Q Butt
Stacey V Doe
Johnson Z Tollner
Jefferson C Saylors
David Q Sergi
Silvio F Chui
Tony Y Saylors
Emily K Foller
Kadeem U Dilliard
Jones C Whobrey
Stacey N Whobrey
Aika P Kusko
Tony N Nicka
Leon S Oldroyd
IdCountryDate
1000Brazil2025-04-11
1001Argentina2025-04-14
1002Australia2025-04-09
1003France2025-04-11
1004Spain2025-04-01
1005Japan2025-04-14
1006France2025-04-26
1007Italy2025-04-14
1008France2025-04-06
1009Germany2025-04-09
1010France2025-04-19
1011Italy2025-04-28
1012Australia2025-04-25
1013Germany2025-04-04
1014India2025-04-20
1015Brazil2025-04-17
1016United Kingdom2025-04-12
1017Australia2025-04-05
1018Brazil2025-04-09
1019France2025-04-24
1020Germany2025-04-28
1021India2025-04-25
1022Russia2025-04-12
1023Japan2025-04-15
1024Russia2025-04-16
1025Germany2025-04-18
1026Germany2025-04-20
1027Brazil2025-04-01
1028United Kingdom2025-04-13
1029France2025-04-14
1030Russia2025-04-04
1031Australia2025-04-25
1032Argentina2025-04-01
1033Canada2025-04-17
1034Australia2025-04-16
1035Brazil2025-04-15
1036Canada2025-04-11
1037Japan2025-04-12
1038India2025-04-13
1039Italy2025-04-21
1040Spain2025-04-22
1041Germany2025-04-04
1042Canada2025-04-26
1043Russia2025-04-08
1044Japan2025-04-15
1045Canada2025-04-27
1046Brazil2025-04-06
1047United Kingdom2025-04-12
1048Spain2025-04-28
1049Spain2025-04-10

On-Demand Data

NameIdCountryDate
Ricardo P Caudy1000Canada2025-04-24
Kadeem Y Briddick1001Italy2025-04-15
Ricardo G Waycott1002Russia2025-04-24
Leon W Caudy1003Spain2025-04-23
Maisha D Morasca1004Canada2025-04-23
Mayumi C Slusarski1005Canada2025-04-14
Jennifer L Malet1006Russia2025-04-01
Salvatore D Maclead1007Argentina2025-04-08
Antonio Z Amigon1008Argentina2025-04-14
Salvatore F Oldroyd1009Canada2025-04-16
Izzy Z Shinko1010Spain2025-04-21
Mayumi U Stenseth1011Spain2025-04-22
Claire F Kusko1012Canada2025-03-31
Tony P Slusarski1013Spain2025-04-16
Francesco M Poquette1014Australia2025-04-05
Faith H Dilliard1015Argentina2025-04-29
Jefferson U Garufi1016Japan2025-04-15
Salvatore H Saylors1017Germany2025-04-06
Murillo M Shinko1018Italy2025-04-21
Murillo M Rulapaugh1019Argentina2025-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones Y GlickGermanyIoni Bowcher NEW
Costa J MaletItalyOnyama Limba NEGOTIATION
Octavia G StockhamRussiaIvan Magalhaes UNQUALIFIED
Deepesh H InouyeBrazilIvan Magalhaes RENEWAL
Jones S SergiItalyStephen Shaw NEGOTIATION
Francesco W GarufiArgentinaIvan Magalhaes QUALIFIED
Isabel K GillianCanadaAsiya Javayant NEW
Adams E GauchoBrazilIvan Magalhaes QUALIFIED
Deepesh T BologniaRussiaIoni Bowcher PROPOSAL
David A MaletArgentinaAmy Elsner UNQUALIFIED
Costa L RulapaughSpainBernardo Dominic NEW
Adams E MacleadAustraliaIoni Bowcher QUALIFIED
Ivar T MaletCanadaIvan Magalhaes QUALIFIED
Ivar X ButtGermanyIvan Magalhaes NEGOTIATION
Kaitlin P IturbideAustraliaIvan Magalhaes NEGOTIATION
Stacey E IturbideGermanyOnyama Limba PROPOSAL
Adams E GarufiFranceIvan Magalhaes RENEWAL
Emily H SchemmerJapanOnyama Limba QUALIFIED
Francesco Y IturbideIndiaOnyama Limba NEW
Darci L WieserFranceElwin Sharvill NEGOTIATION
Leon I DarakjyJapanAsiya Javayant PROPOSAL
Morrow E KolmetzJapanIvan Magalhaes NEW
Clifford E PaprockiBrazilXuxue Feng NEGOTIATION
Ricardo T CaudyFranceAnna Fali NEW
Munro S CaldareraBrazilIoni Bowcher PROPOSAL
Aruna U BologniaAustraliaIoni Bowcher NEGOTIATION
Leja Y FigeroaBrazilXuxue Feng NEGOTIATION
Misaki F PerinSpainXuxue Feng RENEWAL
Aruna Z RulapaughItalyBernardo Dominic QUALIFIED
Mujtaba Z FlosiSpainAnna Fali RENEWAL
Antonio H WieserFranceXuxue Feng NEGOTIATION
Murillo E MarrierFranceIoni Bowcher UNQUALIFIED
Maria L GauchoRussiaStephen Shaw PROPOSAL
Wickens W MorascaAustraliaAmy Elsner NEGOTIATION
Julie L RoysterCanadaIvan Magalhaes PROPOSAL
Maria M WhobreySpainAsiya Javayant NEGOTIATION
Ivar E ShinkoArgentinaAnna Fali NEW
Wickens B StockhamBrazilElwin Sharvill PROPOSAL
Stacey Z AlbaresUnited KingdomBernardo Dominic RENEWAL
Jones Z NestleRussiaAmy Elsner 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>