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
Salvatore V MarrierIndiaAmy Elsner UNQUALIFIED
Jones E WaycottGermanyAmy Elsner UNQUALIFIED
Costa D CampainArgentinaAsiya Javayant QUALIFIED
Faith C GlickAustraliaBernardo Dominic QUALIFIED
Jennifer Z MaletAustraliaAnna Fali PROPOSAL
Kaitlin R ShinkoAustraliaIvan Magalhaes QUALIFIED
Nicolas N DarakjyIndiaBernardo Dominic UNQUALIFIED
Cody M WhobreyIndiaOnyama Limba UNQUALIFIED
Izzy X GarufiRussiaAmy Elsner QUALIFIED
Wickens M BriddickGermanyStephen Shaw UNQUALIFIED
Johnson X ButtIndiaBernardo Dominic NEGOTIATION
Claire P NestleGermanyOnyama Limba RENEWAL
Arvin I KolmetzItalyStephen Shaw NEW
Salvatore P GillianAustraliaAnna Fali QUALIFIED
Morrow J OstroskyIndiaOnyama Limba RENEWAL
Smith V MaletSpainOnyama Limba RENEWAL
Stacey M PerinArgentinaBernardo Dominic NEGOTIATION
Emily C PerinBrazilIvan Magalhaes RENEWAL
Mujtaba W SlusarskiGermanyIvan Magalhaes RENEWAL
Kaitlin Q CaldareraRussiaStephen Shaw NEGOTIATION
Rodrigues T StensethAustraliaAnna Fali RENEWAL
Wickens L RulapaughAustraliaElwin Sharvill RENEWAL
Ivar G OldroydIndiaOnyama Limba NEGOTIATION
Leja V MaletGermanyElwin Sharvill QUALIFIED
Francesco X FlosiRussiaOnyama Limba NEW
David Z OstroskyBrazilAsiya Javayant UNQUALIFIED
David B OldroydJapanAnna Fali PROPOSAL
David O VenereUnited KingdomIoni Bowcher NEGOTIATION
Arvin Z AmigonFranceIoni Bowcher QUALIFIED
Mujtaba E StensethRussiaElwin Sharvill RENEWAL
Jones Y GarufiJapanElwin Sharvill PROPOSAL
James A ShinkoSpainIvan Magalhaes UNQUALIFIED
Arvin T WhobreyItalyOnyama Limba NEGOTIATION
Adams U MacleadSpainAsiya Javayant QUALIFIED
Faith R CampainItalyIoni Bowcher RENEWAL
Julie V CaudyItalyStephen Shaw NEW
Julie R FlosiItalyBernardo Dominic NEGOTIATION
Darci M PaprockiArgentinaStephen Shaw PROPOSAL
Nicolas D VocelkaItalyIoni Bowcher QUALIFIED
Kadeem B MaletGermanyIvan Magalhaes NEGOTIATION
Jones P GillianCanadaBernardo Dominic UNQUALIFIED
Maria U WieserCanadaXuxue Feng PROPOSAL
Salvatore W WieserItalyAsiya Javayant RENEWAL
Ashley Q InouyeUnited KingdomAnna Fali UNQUALIFIED
Aika M MorascaJapanIvan Magalhaes PROPOSAL
Ashley R BriddickUnited KingdomIoni Bowcher PROPOSAL
Aditya L GarufiCanadaXuxue Feng RENEWAL
Salvatore X InouyeFranceIoni Bowcher NEGOTIATION
Chavez B InouyeGermanyIvan Magalhaes PROPOSAL
Johnson B SergiJapanAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy V FollerItalyIoni Bowcher UNQUALIFIED
Kadeem N BowleySpainElwin Sharvill RENEWAL
Jeanfrancois Y FollerSpainIvan Magalhaes NEGOTIATION
Salvatore A WaycottJapanBernardo Dominic QUALIFIED
Leon L DarakjyJapanAnna Fali QUALIFIED
Kadeem L RimSpainIoni Bowcher UNQUALIFIED
Smith X WhobreySpainIvan Magalhaes NEGOTIATION
Adams G BologniaBrazilXuxue Feng NEGOTIATION
Cody Z OldroydBrazilOnyama Limba PROPOSAL
Antonio C ChuiBrazilXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair A StockhamGermany2024-05-21Feiner Bros UNQUALIFIED0Anna Fali
1001Munro J SaylorsFrance2024-05-08King, Christopher A Esq RENEWAL81Bernardo Dominic
1002Julie V DarakjyJapan2024-04-26Chanay, Jeffrey A Esq NEGOTIATION18Anna Fali
1003Costa O RutaSpain2024-05-11Morlong Associates NEW28Anna Fali
1004Adams H MaletItaly2024-05-03Chapman, Ross E Esq NEGOTIATION35Onyama Limba
1005Juan B StensethUnited Kingdom2024-05-11Commercial Press NEGOTIATION72Ioni Bowcher
1006Jefferson C MarrierSpain2024-05-10Commercial Press UNQUALIFIED99Anna Fali
1007Misaki Z InouyeItaly2024-05-05Commercial Press RENEWAL81Asiya Javayant
1008Mujtaba Q TollnerArgentina2024-05-15Feiner Bros RENEWAL78Asiya Javayant
1009Leja S VenereIndia2024-05-23Chapman, Ross E Esq NEW99Anna Fali
1010Aika K OldroydFrance2024-05-02Buckley Miller Wright PROPOSAL32Ivan Magalhaes
1011Maria E FerenczGermany2024-04-27Buckley Miller Wright NEW88Amy Elsner
1012Misaki E BologniaArgentina2024-05-05Dorl, James J Esq PROPOSAL18Onyama Limba
1013Emily J GillianGermany2024-05-16Chemel, James L Cpa UNQUALIFIED62Asiya Javayant
1014Jennifer Q StensethRussia2024-05-01Morlong Associates NEW80Ivan Magalhaes
1015Tony N MacleadBrazil2024-05-19Chapman, Ross E Esq NEW6Xuxue Feng
1016Clifford D MacleadUnited Kingdom2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED88Amy Elsner
1017Aruna U MaletGermany2024-04-30Dorl, James J Esq QUALIFIED26Bernardo Dominic
1018Deepesh G AmigonFrance2024-05-24Commercial Press NEGOTIATION11Onyama Limba
1019Alejandro Z WieserGermany2024-04-29Chanay, Jeffrey A Esq NEGOTIATION85Elwin Sharvill
1020Maisha F MorascaFrance2024-05-18Chapman, Ross E Esq NEW17Amy Elsner
1021Kaitlin S NickaGermany2024-05-10Commercial Press NEW88Asiya Javayant
1022Nicolas A GlickBrazil2024-05-12Benton, John B Jr RENEWAL29Ioni Bowcher
1023Izzy O InouyeUnited Kingdom2024-05-20Printing Dimensions PROPOSAL56Asiya Javayant
1024Stacey D KuskoAustralia2024-05-18Truhlar And Truhlar Attys PROPOSAL74Stephen Shaw
1025Greenwood Y RulapaughUnited Kingdom2024-04-26King, Christopher A Esq NEW32Amy Elsner
1026Kaitlin H MorascaRussia2024-05-19Rangoni Of Florence QUALIFIED76Amy Elsner
1027Munro O OstroskyArgentina2024-05-03Rousseaux, Michael Esq NEGOTIATION15Amy Elsner
1028Emily O WieserBrazil2024-05-18Benton, John B Jr NEGOTIATION19Anna Fali
1029Emily W AmigonSpain2024-05-02Rangoni Of Florence NEGOTIATION21Stephen Shaw
1030Maisha H CaudySpain2024-05-05Printing Dimensions QUALIFIED56Ivan Magalhaes
1031Emily F BowleyFrance2024-04-28Chanay, Jeffrey A Esq PROPOSAL10Xuxue Feng
1032Arvin G ChuiCanada2024-05-16Chapman, Ross E Esq UNQUALIFIED29Amy Elsner
1033Juan B AlbaresFrance2024-05-02King, Christopher A Esq PROPOSAL86Bernardo Dominic
1034Munro G GillianSpain2024-04-26Commercial Press QUALIFIED43Ioni Bowcher
1035Greenwood P ShinkoRussia2024-04-29Truhlar And Truhlar Attys QUALIFIED36Asiya Javayant
1036Deepesh M PaprockiAustralia2024-05-13Benton, John B Jr NEGOTIATION21Onyama Limba
1037Kadeem F GillianGermany2024-05-13Truhlar And Truhlar Attys NEW52Elwin Sharvill
1038Claire W RoysterGermany2024-05-20Feltz Printing Service PROPOSAL72Ioni Bowcher
1039Tony Z VocelkaBrazil2024-05-15Dorl, James J Esq RENEWAL58Onyama Limba
1040Isabel Y RoysterSpain2024-05-05Morlong Associates UNQUALIFIED17Amy Elsner
1041Mujtaba Q MaletArgentina2024-05-18Rangoni Of Florence PROPOSAL28Stephen Shaw
1042Alejandro N PaprockiItaly2024-05-03Printing Dimensions UNQUALIFIED13Anna Fali
1043Ivar Q FigeroaAustralia2024-05-02Commercial Press NEGOTIATION32Bernardo Dominic
1044Stacey P WaycottCanada2024-05-22Feltz Printing Service QUALIFIED13Amy Elsner
1045Salvatore D GauchoCanada2024-04-30Chanay, Jeffrey A Esq NEW83Asiya Javayant
1046Jefferson F CampainBrazil2024-05-22Printing Dimensions UNQUALIFIED77Bernardo Dominic
1047Clifford N GarufiSpain2024-05-17Feltz Printing Service QUALIFIED22Ivan Magalhaes
1048Murillo U PerinBrazil2024-05-02Truhlar And Truhlar Attys NEW19Asiya Javayant
1049Jennifer E MacleadItaly2024-05-12Rousseaux, Michael Esq PROPOSAL12Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Smith Y IturbideJapanStephen Shaw PROPOSAL
Costa Q SlusarskiArgentinaIvan Magalhaes NEW
David B VocelkaArgentinaXuxue Feng NEGOTIATION
Kadeem Z CaldareraAustraliaOnyama Limba PROPOSAL
Ricardo B BologniaUnited KingdomElwin Sharvill PROPOSAL
Wickens F StockhamSpainXuxue Feng QUALIFIED
Ricardo F BowleyRussiaAnna Fali RENEWAL
Aruna D SchemmerItalyOnyama Limba NEW
Morrow R OldroydRussiaBernardo Dominic RENEWAL
Misaki D WaycottRussiaIvan Magalhaes QUALIFIED
Greenwood F ShinkoBrazilAsiya Javayant RENEWAL
Misaki V SchemmerIndiaXuxue Feng PROPOSAL
Smith T SergiFranceIvan Magalhaes NEW
Salvatore Y NickaCanadaAmy Elsner QUALIFIED
Leon G BriddickRussiaBernardo Dominic UNQUALIFIED
Jennifer Q IturbideFranceIoni Bowcher QUALIFIED
James M WhobreyBrazilElwin Sharvill NEW
Arvin F CaudyCanadaAsiya Javayant QUALIFIED
Costa V CampainBrazilIvan Magalhaes NEGOTIATION
Mujtaba M GillianCanadaIoni Bowcher UNQUALIFIED
Maria P AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Francesco W WieserGermanyAsiya Javayant UNQUALIFIED
Alejandro U SaylorsArgentinaBernardo Dominic UNQUALIFIED
Ashley G FollerIndiaElwin Sharvill PROPOSAL
Ricardo C WaycottSpainAsiya Javayant NEW
Mujtaba I PaprockiAustraliaIoni Bowcher RENEWAL
Costa H DoeRussiaAsiya Javayant NEGOTIATION
Faith G FollerIndiaStephen Shaw QUALIFIED
Silvio L DarakjyBrazilElwin Sharvill PROPOSAL
Silvio B DoeGermanyIoni Bowcher UNQUALIFIED
Ricardo J ButtJapanIoni Bowcher PROPOSAL
Octavia P InouyeIndiaBernardo Dominic NEW
Aditya L GillianBrazilAnna Fali NEW
Tony H RimItalyIoni Bowcher PROPOSAL
Aruna D MaletBrazilAmy Elsner RENEWAL
Nicolas L PoquetteBrazilAmy Elsner QUALIFIED
Murillo U CampainUnited KingdomAsiya Javayant QUALIFIED
Nicolas E BowleyAustraliaBernardo Dominic QUALIFIED
Clifford I ChuiIndiaElwin Sharvill NEGOTIATION
Faith J GlickUnited KingdomXuxue Feng QUALIFIED
Misaki N NickaSpainAnna Fali QUALIFIED
Arvin M ShinkoSpainAnna Fali NEGOTIATION
Tony I AlbaresBrazilElwin Sharvill PROPOSAL
Darci D StockhamFranceAnna Fali NEGOTIATION
Misaki M SaylorsSpainAsiya Javayant NEGOTIATION
Rodrigues K WieserJapanXuxue Feng NEW
Maisha E ButtCanadaOnyama Limba NEW
Julie A VocelkaArgentinaIoni Bowcher PROPOSAL
Tony I PoquetteItalyStephen Shaw PROPOSAL
Emily Z AmigonJapanBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Leon I Tollner
Nicolas B Dilliard
Kadeem T Doe
Mujtaba Q Saylors
Aruna O Morasca
Wickens X Butt
Rodrigues E Briddick
Wickens C Tollner
Sinclair F Royster
Aditya F Albares
Leja C Shinko
Murillo U Butt
Faith L Kolmetz
Aika T Bolognia
Aditya C Rulapaugh
Rodrigues X Venere
Francesco B Flosi
Cody E Schemmer
Silvio S Whobrey
Darci V Slusarski
David P Schemmer
Kadeem R Ferencz
Costa Q Tollner
Leon H Kusko
Julie P Garufi
Ashley J Caldarera
Faith A Butt
Mujtaba U Marrier
Deepesh J Dilliard
Leja L Bolognia
Juan M Foller
Jones T Perin
Faith P Flosi
Kaitlin X Poquette
Jefferson Y Malet
Francesco C Marrier
Jones M Darakjy
David U Oldroyd
Jones T Shinko
Munro N Waycott
Octavia Q Dilliard
Juan W Doe
Claire O Caldarera
Arvin P Foller
Isabel K Kusko
Chavez R Shinko
Chavez E Albares
Jeanfrancois N Sergi
Costa U Bolognia
Jennifer C Slusarski
IdCountryDate
1000Spain2024-05-14
1001Italy2024-05-23
1002Canada2024-04-30
1003India2024-05-06
1004Brazil2024-04-30
1005Canada2024-04-27
1006Canada2024-05-22
1007Germany2024-05-13
1008France2024-05-04
1009Canada2024-05-10
1010India2024-04-29
1011Russia2024-05-14
1012Brazil2024-04-29
1013United Kingdom2024-05-18
1014Brazil2024-05-21
1015United Kingdom2024-05-08
1016Argentina2024-05-17
1017United Kingdom2024-05-07
1018Japan2024-05-15
1019Brazil2024-05-10
1020Canada2024-05-04
1021Germany2024-05-16
1022Australia2024-04-29
1023India2024-04-28
1024Russia2024-05-19
1025India2024-05-12
1026Spain2024-05-02
1027Italy2024-05-10
1028India2024-05-16
1029Canada2024-05-15
1030Japan2024-05-12
1031India2024-05-16
1032Australia2024-05-22
1033Russia2024-04-29
1034Russia2024-05-07
1035Spain2024-05-09
1036Brazil2024-05-08
1037Australia2024-05-17
1038Germany2024-05-06
1039Argentina2024-05-20
1040Spain2024-05-01
1041Spain2024-05-02
1042France2024-05-14
1043France2024-05-08
1044Australia2024-05-06
1045Australia2024-05-16
1046United Kingdom2024-05-06
1047United Kingdom2024-05-01
1048Spain2024-05-16
1049Brazil2024-05-11

On-Demand Data

NameIdCountryDate
Greenwood C Nestle1000Brazil2024-05-22
Ricardo W Iturbide1001Russia2024-05-08
Isabel L Ruta1002France2024-05-24
Cody T Flosi1003Germany2024-05-19
Cody B Tollner1004Spain2024-05-08
Chavez Y Poquette1005Spain2024-05-07
James V Ferencz1006India2024-05-12
Maisha Z Paprocki1007Argentina2024-05-25
Ricardo I Marrier1008Australia2024-05-12
Maisha X Glick1009Italy2024-04-30
Nicolas I Nicka1010Spain2024-05-24
Alejandro P Gillian1011United Kingdom2024-04-27
Adams R Whobrey1012Japan2024-05-13
Arvin S Venere1013India2024-05-21
Aika G Flosi1014France2024-05-05
Tony N Stenseth1015Australia2024-05-06
Mayumi I Kusko1016France2024-05-17
Octavia E Ferencz1017Italy2024-05-12
Chavez X Garufi1018India2024-05-11
Alejandro B Oldroyd1019United Kingdom2024-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair U FlosiUnited KingdomElwin Sharvill PROPOSAL
Costa N KolmetzFranceBernardo Dominic NEGOTIATION
Mayumi R PoquetteAustraliaAnna Fali QUALIFIED
Nicolas G VocelkaSpainIvan Magalhaes NEGOTIATION
Julie N RoysterCanadaAnna Fali PROPOSAL
Antonio E CaudyJapanAmy Elsner NEGOTIATION
Leja G GauchoItalyElwin Sharvill UNQUALIFIED
Claire X WaycottAustraliaStephen Shaw NEW
Juan O NestleFranceOnyama Limba NEGOTIATION
Ricardo G ChuiCanadaIoni Bowcher PROPOSAL
Murillo O InouyeJapanElwin Sharvill PROPOSAL
Chavez Y DoeGermanyAmy Elsner NEW
Leon P FollerFranceAnna Fali QUALIFIED
Claire M BologniaJapanAsiya Javayant NEW
Leon T TollnerGermanyOnyama Limba RENEWAL
Isabel S DilliardJapanIvan Magalhaes PROPOSAL
David S SlusarskiIndiaXuxue Feng NEGOTIATION
James N StockhamSpainXuxue Feng UNQUALIFIED
Jones V AlbaresCanadaOnyama Limba PROPOSAL
Emily D MaletAustraliaAsiya Javayant QUALIFIED
Wickens I FollerGermanyIvan Magalhaes NEW
Jefferson R CaldareraBrazilElwin Sharvill UNQUALIFIED
Deepesh W PerinAustraliaBernardo Dominic NEW
Salvatore Y KolmetzGermanyBernardo Dominic PROPOSAL
Julie D IturbideSpainAnna Fali PROPOSAL
Faith F SchemmerCanadaElwin Sharvill PROPOSAL
James Y StockhamItalyAnna Fali NEGOTIATION
Kaitlin Z GillianCanadaAmy Elsner UNQUALIFIED
Wickens I GarufiArgentinaElwin Sharvill QUALIFIED
Silvio L KolmetzArgentinaElwin Sharvill NEGOTIATION
Kadeem Q MaletRussiaOnyama Limba RENEWAL
Chavez Y KolmetzBrazilIvan Magalhaes PROPOSAL
Salvatore W SergiIndiaBernardo Dominic UNQUALIFIED
Ricardo D WhobreyCanadaAmy Elsner UNQUALIFIED
Kaitlin E MaletBrazilXuxue Feng NEGOTIATION
Mayumi I BriddickBrazilStephen Shaw QUALIFIED
Chavez S DilliardJapanAnna Fali PROPOSAL
Wickens Z GlickSpainElwin Sharvill NEGOTIATION
Wickens B PerinAustraliaAmy Elsner QUALIFIED
Wickens S DilliardIndiaElwin Sharvill PROPOSAL

<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>