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
Deepesh E MorascaBrazilElwin Sharvill NEW
Jeanfrancois R ShinkoArgentinaXuxue Feng RENEWAL
Darci Z CampainJapanOnyama Limba UNQUALIFIED
Jefferson T BowleyBrazilStephen Shaw RENEWAL
Rodrigues B SergiUnited KingdomIvan Magalhaes NEGOTIATION
David P SaylorsItalyAnna Fali QUALIFIED
Arvin A PaprockiArgentinaOnyama Limba PROPOSAL
Maisha A RoysterIndiaStephen Shaw NEGOTIATION
Aruna Q CaudyItalyAsiya Javayant UNQUALIFIED
Silvio W RimRussiaAsiya Javayant UNQUALIFIED
Mujtaba R GarufiFranceXuxue Feng NEW
James T AmigonItalyElwin Sharvill UNQUALIFIED
Jeanfrancois V FlosiJapanAsiya Javayant UNQUALIFIED
Juan V SchemmerSpainOnyama Limba NEGOTIATION
Kadeem B RulapaughSpainStephen Shaw RENEWAL
Alejandro K StensethJapanElwin Sharvill UNQUALIFIED
Wickens Z MaletFranceIoni Bowcher UNQUALIFIED
James J NestleGermanyIoni Bowcher PROPOSAL
Leon S PerinCanadaStephen Shaw NEW
Ivar A BologniaRussiaIvan Magalhaes RENEWAL
Darci D GlickJapanAmy Elsner RENEWAL
Silvio J SlusarskiRussiaAnna Fali PROPOSAL
Faith Z BriddickCanadaElwin Sharvill PROPOSAL
Deepesh M NickaRussiaAnna Fali PROPOSAL
Jeanfrancois N CaldareraAustraliaBernardo Dominic NEGOTIATION
James E OstroskyBrazilAmy Elsner NEGOTIATION
Chavez J VenereJapanElwin Sharvill NEW
Clifford Q FigeroaAustraliaOnyama Limba NEW
Rodrigues P WhobreyAustraliaElwin Sharvill NEW
Jeanfrancois U IturbideArgentinaBernardo Dominic NEGOTIATION
Deepesh C MacleadFranceElwin Sharvill QUALIFIED
Stacey L NickaAustraliaAsiya Javayant NEW
Maria I TollnerUnited KingdomAnna Fali NEGOTIATION
Wickens C CaudyGermanyAmy Elsner NEGOTIATION
Maisha A MaletCanadaElwin Sharvill RENEWAL
Murillo H SaylorsRussiaXuxue Feng UNQUALIFIED
Silvio Y GarufiIndiaAmy Elsner PROPOSAL
Arvin M BriddickSpainBernardo Dominic RENEWAL
Leon C KuskoGermanyIvan Magalhaes PROPOSAL
Aruna L PerinArgentinaStephen Shaw UNQUALIFIED
Octavia G FollerArgentinaIoni Bowcher NEGOTIATION
Tony J TollnerRussiaIoni Bowcher NEGOTIATION
Faith Y WhobreySpainElwin Sharvill UNQUALIFIED
Costa W KolmetzIndiaAnna Fali RENEWAL
Arvin M NestleIndiaAsiya Javayant NEGOTIATION
Ashley Q BowleyItalyAmy Elsner QUALIFIED
Tony X FollerFranceIvan Magalhaes NEGOTIATION
Aditya I DoeAustraliaXuxue Feng NEGOTIATION
Ashley H OstroskyBrazilAsiya Javayant QUALIFIED
Mayumi W AlbaresAustraliaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Smith I RutaFranceIvan Magalhaes NEGOTIATION
Johnson O SergiSpainOnyama Limba NEW
Morrow D BriddickSpainBernardo Dominic QUALIFIED
Stacey I SergiIndiaAnna Fali NEGOTIATION
Jennifer J DilliardJapanAsiya Javayant NEGOTIATION
Ivar N MacleadSpainAmy Elsner QUALIFIED
Munro F ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Claire O VenereBrazilAnna Fali PROPOSAL
Darci T GillianItalyIoni Bowcher QUALIFIED
Ivar H PaprockiIndiaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci N ShinkoRussia2025-04-19Buckley Miller Wright PROPOSAL51Ioni Bowcher
1001Johnson J CaldareraGermany2025-04-10Feltz Printing Service RENEWAL73Onyama Limba
1002Juan C CaldareraArgentina2025-04-13Feiner Bros NEGOTIATION70Bernardo Dominic
1003Emily O MacleadSpain2025-04-08Dorl, James J Esq UNQUALIFIED48Elwin Sharvill
1004Ashley V DilliardCanada2025-04-28Rangoni Of Florence PROPOSAL23Stephen Shaw
1005Salvatore W KolmetzAustralia2025-04-26Benton, John B Jr QUALIFIED80Bernardo Dominic
1006Leon V RimBrazil2025-04-08Chapman, Ross E Esq NEW97Xuxue Feng
1007Alejandro T TollnerSpain2025-04-17King, Christopher A Esq NEGOTIATION70Asiya Javayant
1008Sinclair S KolmetzIndia2025-04-11Rousseaux, Michael Esq QUALIFIED6Asiya Javayant
1009Clifford C BowleyUnited Kingdom2025-04-03Chemel, James L Cpa QUALIFIED76Anna Fali
1010Ricardo U FigeroaItaly2025-04-15Feltz Printing Service RENEWAL78Elwin Sharvill
1011Leon E DilliardArgentina2025-04-20Commercial Press UNQUALIFIED87Elwin Sharvill
1012Tony J FlosiItaly2025-04-23Feltz Printing Service UNQUALIFIED21Ioni Bowcher
1013Isabel T ChuiSpain2025-04-13Chemel, James L Cpa RENEWAL42Asiya Javayant
1014Costa T WieserGermany2025-04-14Feltz Printing Service RENEWAL55Ivan Magalhaes
1015Munro J FerenczAustralia2025-04-03Benton, John B Jr RENEWAL32Xuxue Feng
1016Smith D RimAustralia2025-04-22Chemel, James L Cpa QUALIFIED85Anna Fali
1017Rodrigues T KolmetzCanada2025-04-10Rousseaux, Michael Esq RENEWAL72Xuxue Feng
1018Arvin V OstroskyAustralia2025-04-01Rousseaux, Michael Esq UNQUALIFIED87Ioni Bowcher
1019Aruna G KuskoSpain2025-04-18King, Christopher A Esq QUALIFIED76Anna Fali
1020Maisha M OldroydUnited Kingdom2025-04-20Chanay, Jeffrey A Esq NEW86Bernardo Dominic
1021Julie F DoeCanada2025-04-18Commercial Press NEGOTIATION9Ioni Bowcher
1022Antonio Z StensethCanada2025-04-23Commercial Press RENEWAL52Amy Elsner
1023Ricardo J GillianItaly2025-04-18Chemel, James L Cpa UNQUALIFIED65Ioni Bowcher
1024Francesco M ShinkoRussia2025-04-10Benton, John B Jr NEW29Onyama Limba
1025Jefferson H AmigonJapan2025-04-13Rousseaux, Michael Esq NEGOTIATION79Stephen Shaw
1026Juan A SchemmerCanada2025-04-27Rangoni Of Florence QUALIFIED85Amy Elsner
1027Greenwood Q SaylorsBrazil2025-04-14Commercial Press NEW23Asiya Javayant
1028Isabel J PerinBrazil2025-04-02King, Christopher A Esq UNQUALIFIED30Bernardo Dominic
1029Leon I ChuiRussia2025-04-29Feltz Printing Service PROPOSAL59Bernardo Dominic
1030Ivar W RoysterBrazil2025-04-13King, Christopher A Esq PROPOSAL14Ioni Bowcher
1031Johnson I FollerJapan2025-04-23Truhlar And Truhlar Attys RENEWAL74Anna Fali
1032James M WhobreyFrance2025-04-13Dorl, James J Esq UNQUALIFIED55Ivan Magalhaes
1033Morrow W FigeroaJapan2025-04-05Chemel, James L Cpa UNQUALIFIED44Anna Fali
1034Aditya B RutaFrance2025-04-05Morlong Associates NEW30Amy Elsner
1035Chavez V GarufiItaly2025-04-22Feltz Printing Service UNQUALIFIED27Xuxue Feng
1036Leon W PaprockiJapan2025-04-20Chanay, Jeffrey A Esq UNQUALIFIED4Ioni Bowcher
1037Jennifer O AmigonBrazil2025-04-28Rangoni Of Florence PROPOSAL83Onyama Limba
1038Stacey E BologniaBrazil2025-04-28King, Christopher A Esq UNQUALIFIED55Ioni Bowcher
1039Mayumi G KuskoRussia2025-04-12Benton, John B Jr UNQUALIFIED35Ivan Magalhaes
1040Mujtaba W InouyeRussia2025-04-28Printing Dimensions NEW96Onyama Limba
1041Octavia C FigeroaArgentina2025-04-24Chemel, James L Cpa UNQUALIFIED43Ivan Magalhaes
1042Emily M SergiItaly2025-04-21Truhlar And Truhlar Attys NEGOTIATION72Ioni Bowcher
1043Munro O SergiArgentina2025-04-10Benton, John B Jr NEGOTIATION36Ioni Bowcher
1044Tony G ButtSpain2025-04-11Benton, John B Jr QUALIFIED93Ivan Magalhaes
1045Tony P PoquetteBrazil2025-04-28Chapman, Ross E Esq PROPOSAL33Xuxue Feng
1046Jennifer X SchemmerCanada2025-04-30Feiner Bros RENEWAL86Ivan Magalhaes
1047Izzy Z DoeArgentina2025-04-09Rousseaux, Michael Esq UNQUALIFIED82Elwin Sharvill
1048Chavez X KolmetzArgentina2025-04-03Rangoni Of Florence NEGOTIATION45Anna Fali
1049Jeanfrancois U PaprockiIndia2025-04-18Chemel, James L Cpa QUALIFIED81Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Juan L FlosiFranceAnna Fali QUALIFIED
Murillo L NickaSpainIvan Magalhaes QUALIFIED
Chavez E PerinIndiaOnyama Limba RENEWAL
Alejandro X BowleyUnited KingdomAmy Elsner NEW
Kadeem F WhobreyCanadaOnyama Limba UNQUALIFIED
Adams N NickaRussiaIvan Magalhaes NEW
Murillo Q CaldareraGermanyElwin Sharvill NEW
Emily N OstroskyItalyAnna Fali QUALIFIED
Juan S CaudySpainXuxue Feng UNQUALIFIED
Sinclair F BologniaSpainAnna Fali RENEWAL
Morrow C FlosiBrazilXuxue Feng RENEWAL
Mayumi O WieserUnited KingdomXuxue Feng PROPOSAL
Claire B MaletAustraliaIvan Magalhaes RENEWAL
Deepesh O SaylorsItalyIoni Bowcher NEW
Smith T PaprockiFranceAsiya Javayant RENEWAL
Stacey K RutaCanadaElwin Sharvill QUALIFIED
Wickens Q KolmetzUnited KingdomAsiya Javayant NEGOTIATION
Emily E DarakjyAustraliaXuxue Feng NEW
Smith A ChuiSpainXuxue Feng NEW
Rodrigues W VocelkaUnited KingdomXuxue Feng PROPOSAL
Emily F GlickFranceBernardo Dominic RENEWAL
Smith N AlbaresSpainIvan Magalhaes RENEWAL
James R InouyeAustraliaXuxue Feng NEGOTIATION
Ashley V FerenczItalyAmy Elsner PROPOSAL
Clifford U SlusarskiArgentinaBernardo Dominic NEGOTIATION
Nicolas W NickaUnited KingdomIvan Magalhaes UNQUALIFIED
Francesco G NickaCanadaAmy Elsner UNQUALIFIED
Maisha M CaldareraAustraliaXuxue Feng UNQUALIFIED
Leja U ButtAustraliaBernardo Dominic UNQUALIFIED
Ricardo C DilliardRussiaBernardo Dominic PROPOSAL
Tony R OldroydRussiaXuxue Feng PROPOSAL
Darci B AmigonRussiaIvan Magalhaes UNQUALIFIED
Octavia C FerenczCanadaOnyama Limba UNQUALIFIED
James D TollnerRussiaElwin Sharvill UNQUALIFIED
Leja I MaletAustraliaIoni Bowcher QUALIFIED
Chavez I GillianJapanIoni Bowcher QUALIFIED
Aika H GarufiItalyOnyama Limba QUALIFIED
Octavia S TollnerArgentinaAsiya Javayant QUALIFIED
Misaki W ChuiArgentinaIoni Bowcher QUALIFIED
Stacey U GauchoIndiaIoni Bowcher QUALIFIED
Kadeem R GlickArgentinaAmy Elsner PROPOSAL
Ashley Y FerenczBrazilXuxue Feng PROPOSAL
Jefferson H DoeArgentinaIvan Magalhaes PROPOSAL
Clifford B SaylorsJapanAmy Elsner PROPOSAL
Faith S CampainSpainIvan Magalhaes RENEWAL
Aditya G SchemmerBrazilOnyama Limba NEW
Jefferson D MorascaBrazilAnna Fali PROPOSAL
Greenwood I VenereUnited KingdomAnna Fali NEGOTIATION
Leja Z OstroskyArgentinaAnna Fali PROPOSAL
Sinclair X BowleyAustraliaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Costa D Rulapaugh
Murillo L Stenseth
James Z Rulapaugh
Octavia S Shinko
Isabel C Venere
Jefferson V Flosi
Julie G Saylors
Maisha H Slusarski
Kadeem Z Foller
Emily M Sergi
Jones H Nicka
Nicolas S Morasca
Izzy A Dilliard
Cody C Gaucho
Isabel K Inouye
Francesco F Iturbide
Darci M Sergi
Costa Q Butt
Munro S Oldroyd
Sinclair D Gaucho
Kadeem S Maclead
Isabel K Figeroa
Wickens A Gaucho
Aruna J Sergi
Faith V Briddick
Kadeem N Sergi
Jefferson Y Kolmetz
Cody Y Amigon
Rodrigues O Rulapaugh
Kaitlin H Wieser
Mujtaba Y Inouye
Kadeem P Tollner
Clifford G Venere
Emily U Malet
Stacey T Maclead
Nicolas G Sergi
Ivar H Garufi
Salvatore O Bolognia
Jennifer C Marrier
Deepesh I Waycott
Juan S Wieser
Alejandro L Figeroa
Adams S Briddick
Wickens Q Venere
Johnson U Bowley
Kaitlin N Wieser
Misaki M Slusarski
Morrow S Tollner
Jones V Briddick
Misaki J Stenseth
IdCountryDate
1000Brazil2025-04-22
1001Argentina2025-04-24
1002Brazil2025-04-04
1003United Kingdom2025-04-08
1004Brazil2025-04-29
1005Spain2025-04-11
1006Spain2025-04-20
1007Australia2025-04-23
1008Italy2025-04-13
1009Australia2025-04-01
1010Japan2025-04-29
1011Spain2025-04-11
1012Argentina2025-04-24
1013Australia2025-04-23
1014Germany2025-04-12
1015Australia2025-04-01
1016Australia2025-04-27
1017Italy2025-04-30
1018Argentina2025-04-08
1019Japan2025-04-12
1020India2025-04-23
1021Canada2025-04-23
1022Brazil2025-04-08
1023Argentina2025-04-22
1024Argentina2025-04-06
1025Canada2025-04-04
1026Italy2025-04-07
1027India2025-04-27
1028Australia2025-04-26
1029United Kingdom2025-04-27
1030Canada2025-04-03
1031Germany2025-04-05
1032Italy2025-04-02
1033United Kingdom2025-04-13
1034Spain2025-04-03
1035Spain2025-04-09
1036Japan2025-04-08
1037Canada2025-04-26
1038Australia2025-04-04
1039Canada2025-04-30
1040Russia2025-04-12
1041Brazil2025-04-07
1042United Kingdom2025-04-01
1043Australia2025-04-16
1044Brazil2025-04-20
1045Brazil2025-04-09
1046Italy2025-04-16
1047Italy2025-04-18
1048Germany2025-04-24
1049United Kingdom2025-04-19

On-Demand Data

NameIdCountryDate
Aditya Y Butt1000United Kingdom2025-04-01
Sinclair N Shinko1001Japan2025-04-01
James P Albares1002Japan2025-04-18
Octavia L Bolognia1003Spain2025-04-23
Francesco Q Caldarera1004Australia2025-04-22
Nicolas N Garufi1005Brazil2025-04-30
Stacey S Doe1006Italy2025-04-14
Julie V Wieser1007Argentina2025-04-27
James A Tollner1008Canada2025-04-26
Jones A Kusko1009Spain2025-04-29
Clifford C Maclead1010Argentina2025-04-15
Ivar V Nicka1011Australia2025-04-30
Julie Z Rim1012France2025-04-27
Aika L Malet1013Japan2025-04-28
Tony H Butt1014Italy2025-04-27
Arvin M Nestle1015Argentina2025-04-19
Juan Z Butt1016Argentina2025-04-10
Munro Z Gillian1017United Kingdom2025-04-27
Isabel P Rim1018India2025-04-20
Wickens Z Rim1019Argentina2025-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy A SchemmerAustraliaElwin Sharvill RENEWAL
Misaki Y IturbideAustraliaXuxue Feng UNQUALIFIED
Deepesh B SergiRussiaElwin Sharvill PROPOSAL
Ivar W InouyeIndiaIoni Bowcher UNQUALIFIED
Jones G GarufiGermanyAsiya Javayant QUALIFIED
Misaki A FollerGermanyIvan Magalhaes NEW
Darci V FerenczArgentinaBernardo Dominic RENEWAL
Aika D GlickRussiaStephen Shaw QUALIFIED
Maisha H MaletCanadaIoni Bowcher NEW
Kaitlin Z ChuiItalyElwin Sharvill QUALIFIED
Nicolas I CaudyBrazilXuxue Feng PROPOSAL
Misaki P ShinkoCanadaOnyama Limba NEGOTIATION
Leja R OldroydItalyBernardo Dominic NEW
Kadeem J RimFranceAsiya Javayant NEGOTIATION
Emily N FollerItalyXuxue Feng PROPOSAL
Maria Y OldroydIndiaOnyama Limba RENEWAL
Johnson I DilliardUnited KingdomIvan Magalhaes QUALIFIED
Claire R DoeAustraliaBernardo Dominic NEGOTIATION
Rodrigues U MarrierBrazilAmy Elsner QUALIFIED
David L PaprockiGermanyElwin Sharvill NEW
Misaki G FerenczBrazilAnna Fali PROPOSAL
Julie I RutaArgentinaAsiya Javayant PROPOSAL
Maisha R RimIndiaElwin Sharvill UNQUALIFIED
Salvatore G BowleyAustraliaAsiya Javayant NEGOTIATION
Clifford U TollnerArgentinaStephen Shaw PROPOSAL
Salvatore V WhobreyIndiaBernardo Dominic RENEWAL
Julie Y BriddickAustraliaAmy Elsner NEW
James Z MarrierCanadaAsiya Javayant NEGOTIATION
Jones J GlickJapanIoni Bowcher UNQUALIFIED
James B StockhamJapanAsiya Javayant PROPOSAL
Cody D CaldareraSpainBernardo Dominic UNQUALIFIED
Antonio L SchemmerSpainAmy Elsner NEGOTIATION
Tony G StensethRussiaAsiya Javayant NEGOTIATION
Alejandro Q BriddickJapanIoni Bowcher UNQUALIFIED
Costa O RulapaughArgentinaXuxue Feng NEW
Sinclair G RutaBrazilElwin Sharvill NEW
Jones H SaylorsSpainStephen Shaw UNQUALIFIED
Octavia D GauchoArgentinaXuxue Feng NEW
Mayumi T CaldareraIndiaStephen Shaw UNQUALIFIED
Julie J WaycottRussiaStephen Shaw 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>