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
Jennifer H BologniaGermanyStephen Shaw RENEWAL
Mujtaba M PaprockiArgentinaAmy Elsner RENEWAL
Stacey Y ChuiIndiaStephen Shaw PROPOSAL
Jeanfrancois W FlosiItalyAmy Elsner NEW
Sinclair G ChuiFranceAnna Fali QUALIFIED
Morrow Y MorascaArgentinaElwin Sharvill RENEWAL
Munro J MarrierSpainOnyama Limba UNQUALIFIED
Ricardo S CaldareraFranceAnna Fali NEGOTIATION
Tony I DilliardRussiaElwin Sharvill QUALIFIED
Arvin J WaycottIndiaAsiya Javayant RENEWAL
James M OldroydSpainAsiya Javayant PROPOSAL
David I FigeroaSpainBernardo Dominic NEGOTIATION
Jones S NestleJapanBernardo Dominic UNQUALIFIED
Wickens Y CampainBrazilIoni Bowcher NEGOTIATION
Ashley O StensethJapanBernardo Dominic QUALIFIED
James I AlbaresIndiaAsiya Javayant UNQUALIFIED
Jennifer R SchemmerIndiaAsiya Javayant QUALIFIED
Ricardo C RutaFranceAnna Fali UNQUALIFIED
Munro N RoysterUnited KingdomAnna Fali PROPOSAL
Deepesh C SaylorsSpainXuxue Feng NEW
Francesco O VocelkaBrazilAsiya Javayant UNQUALIFIED
Leja R IturbideSpainStephen Shaw QUALIFIED
Aditya V MaletIndiaIoni Bowcher QUALIFIED
Greenwood T RimGermanyXuxue Feng RENEWAL
Alejandro Q FollerBrazilBernardo Dominic UNQUALIFIED
Misaki A PaprockiItalyElwin Sharvill RENEWAL
Clifford D BriddickCanadaElwin Sharvill UNQUALIFIED
Jefferson D FerenczGermanyAnna Fali NEW
Ricardo E MacleadBrazilElwin Sharvill RENEWAL
David Z TollnerBrazilOnyama Limba NEGOTIATION
Jefferson U DilliardArgentinaAmy Elsner RENEWAL
James F WaycottAustraliaXuxue Feng RENEWAL
Jeanfrancois Y GlickSpainAmy Elsner PROPOSAL
Jeanfrancois M OldroydJapanAnna Fali PROPOSAL
Maria X KuskoUnited KingdomXuxue Feng NEW
Mayumi U RimGermanyAmy Elsner NEW
Faith S ShinkoJapanAsiya Javayant NEW
Alejandro N StockhamFranceIvan Magalhaes PROPOSAL
Salvatore B TollnerGermanyAmy Elsner UNQUALIFIED
Ivar T PerinJapanAnna Fali QUALIFIED
Jefferson D FlosiGermanyElwin Sharvill QUALIFIED
Adams J CaldareraGermanyIoni Bowcher QUALIFIED
Darci A GarufiIndiaAsiya Javayant NEGOTIATION
Antonio Z IturbideAustraliaAnna Fali NEW
Darci B AmigonUnited KingdomXuxue Feng NEW
Ricardo Q VocelkaItalyAsiya Javayant QUALIFIED
Morrow P RoysterGermanyAnna Fali RENEWAL
David K RimSpainElwin Sharvill QUALIFIED
Leja R BologniaBrazilAnna Fali RENEWAL
Ivar U SchemmerIndiaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Chavez W IturbideAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois M WhobreyGermanyBernardo Dominic UNQUALIFIED
Wickens D KuskoAustraliaStephen Shaw UNQUALIFIED
David D FerenczIndiaAsiya Javayant NEW
Kadeem W OldroydAustraliaXuxue Feng RENEWAL
Maisha E MaletAustraliaElwin Sharvill QUALIFIED
Darci P OstroskyUnited KingdomIoni Bowcher NEW
David J CaldareraFranceIoni Bowcher QUALIFIED
Maisha Z BologniaArgentinaXuxue Feng NEGOTIATION
Johnson B DilliardIndiaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James R WhobreyFrance2024-05-23Commercial Press PROPOSAL4Stephen Shaw
1001Tony J FigeroaArgentina2024-05-24King, Christopher A Esq NEGOTIATION61Asiya Javayant
1002Maria A OstroskySpain2024-05-24Feiner Bros NEGOTIATION66Bernardo Dominic
1003Octavia O KuskoJapan2024-05-28Dorl, James J Esq PROPOSAL81Amy Elsner
1004Jones C CampainFrance2024-05-24Truhlar And Truhlar Attys QUALIFIED31Elwin Sharvill
1005Clifford Y DilliardCanada2024-05-28Rangoni Of Florence NEW84Xuxue Feng
1006Ricardo B DilliardBrazil2024-06-09Feiner Bros QUALIFIED19Amy Elsner
1007Misaki V TollnerRussia2024-06-04Buckley Miller Wright QUALIFIED26Ioni Bowcher
1008Aika F SchemmerJapan2024-06-03King, Christopher A Esq PROPOSAL21Ioni Bowcher
1009Salvatore U OldroydRussia2024-06-04Chemel, James L Cpa RENEWAL53Anna Fali
1010Jennifer Z RutaFrance2024-05-27Dorl, James J Esq PROPOSAL79Ivan Magalhaes
1011Octavia E VenereFrance2024-06-03Dorl, James J Esq RENEWAL91Xuxue Feng
1012Adams B AmigonGermany2024-05-21Rousseaux, Michael Esq QUALIFIED24Amy Elsner
1013Maria S BriddickRussia2024-06-16Buckley Miller Wright UNQUALIFIED36Ioni Bowcher
1014Darci R AlbaresArgentina2024-06-06Rousseaux, Michael Esq NEW54Bernardo Dominic
1015Salvatore I GarufiJapan2024-05-28Chemel, James L Cpa QUALIFIED72Ioni Bowcher
1016Antonio B RoysterFrance2024-05-25Rangoni Of Florence RENEWAL46Ivan Magalhaes
1017David S GarufiArgentina2024-06-14Rangoni Of Florence QUALIFIED18Ivan Magalhaes
1018Maria O BologniaFrance2024-05-27Rousseaux, Michael Esq NEW90Ioni Bowcher
1019Tony L StensethAustralia2024-05-26Rangoni Of Florence NEW61Ivan Magalhaes
1020Murillo W MacleadBrazil2024-05-25Morlong Associates QUALIFIED97Anna Fali
1021Clifford L BowleyAustralia2024-05-20Dorl, James J Esq RENEWAL3Amy Elsner
1022Deepesh P FigeroaFrance2024-06-08Rousseaux, Michael Esq PROPOSAL93Bernardo Dominic
1023Clifford B MaletCanada2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED7Ivan Magalhaes
1024Adams Y SergiUnited Kingdom2024-06-16Chapman, Ross E Esq UNQUALIFIED34Asiya Javayant
1025Ivar D GarufiJapan2024-06-13Commercial Press QUALIFIED36Ioni Bowcher
1026Adams S KolmetzGermany2024-06-15Feiner Bros NEW9Xuxue Feng
1027Stacey B AmigonJapan2024-06-17Dorl, James J Esq RENEWAL24Stephen Shaw
1028Darci F ChuiArgentina2024-05-25Rangoni Of Florence NEGOTIATION0Asiya Javayant
1029Jeanfrancois G MorascaGermany2024-05-23Printing Dimensions RENEWAL74Stephen Shaw
1030Antonio T KolmetzItaly2024-06-15Commercial Press NEGOTIATION47Ivan Magalhaes
1031Ashley D AmigonGermany2024-06-01Chemel, James L Cpa NEW37Anna Fali
1032Morrow N PerinSpain2024-06-07Truhlar And Truhlar Attys NEW2Stephen Shaw
1033Clifford E GauchoIndia2024-06-05Chemel, James L Cpa NEGOTIATION85Anna Fali
1034Juan R RoysterJapan2024-06-01Benton, John B Jr UNQUALIFIED28Ivan Magalhaes
1035Salvatore D KolmetzGermany2024-06-06Rousseaux, Michael Esq RENEWAL29Bernardo Dominic
1036Emily M StensethJapan2024-06-05Chemel, James L Cpa NEGOTIATION33Ivan Magalhaes
1037Jennifer N FerenczArgentina2024-06-02Buckley Miller Wright NEGOTIATION43Ivan Magalhaes
1038Mujtaba C BologniaAustralia2024-06-10Dorl, James J Esq QUALIFIED18Amy Elsner
1039Izzy C TollnerUnited Kingdom2024-06-06Feiner Bros NEW94Anna Fali
1040Arvin U FerenczArgentina2024-05-30Buckley Miller Wright NEW47Bernardo Dominic
1041Ashley V WhobreyRussia2024-05-23Chanay, Jeffrey A Esq PROPOSAL3Xuxue Feng
1042Aditya Z CaldareraFrance2024-06-09Feiner Bros RENEWAL8Ivan Magalhaes
1043Arvin V VocelkaJapan2024-05-21Dorl, James J Esq UNQUALIFIED48Amy Elsner
1044Nicolas V CaldareraFrance2024-06-10Rousseaux, Michael Esq NEGOTIATION3Stephen Shaw
1045Ashley V StockhamCanada2024-06-05Benton, John B Jr NEW15Elwin Sharvill
1046Aruna O InouyeFrance2024-06-11Chemel, James L Cpa NEW31Bernardo Dominic
1047Ricardo G BriddickUnited Kingdom2024-05-29Chapman, Ross E Esq QUALIFIED64Ioni Bowcher
1048James P WaycottCanada2024-05-30Feiner Bros QUALIFIED93Bernardo Dominic
1049Leja R SchemmerAustralia2024-06-16Feiner Bros UNQUALIFIED65Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Arvin G FollerJapanAnna Fali RENEWAL
Jones P MaletGermanyStephen Shaw RENEWAL
Salvatore C MorascaSpainXuxue Feng QUALIFIED
Deepesh P SlusarskiBrazilElwin Sharvill QUALIFIED
Claire J ShinkoIndiaOnyama Limba PROPOSAL
Kadeem G SchemmerBrazilIvan Magalhaes PROPOSAL
Morrow P GlickIndiaBernardo Dominic QUALIFIED
Maria R StockhamItalyStephen Shaw QUALIFIED
Maisha T MacleadBrazilXuxue Feng RENEWAL
Clifford J IturbideItalyOnyama Limba NEW
Misaki Z ShinkoArgentinaOnyama Limba NEGOTIATION
Mayumi E FlosiFranceAnna Fali NEGOTIATION
Jeanfrancois M RoysterJapanOnyama Limba UNQUALIFIED
Maisha Z GlickBrazilBernardo Dominic PROPOSAL
Morrow T MorascaFranceIvan Magalhaes RENEWAL
Rodrigues K RulapaughJapanIvan Magalhaes NEW
Tony H AmigonRussiaElwin Sharvill QUALIFIED
Jones N PaprockiCanadaStephen Shaw NEGOTIATION
Aditya Y NestleCanadaAmy Elsner NEW
Wickens Q IturbideJapanXuxue Feng NEW
Emily Z PaprockiIndiaXuxue Feng UNQUALIFIED
Cody A RutaSpainIvan Magalhaes QUALIFIED
Aika L RutaGermanyElwin Sharvill UNQUALIFIED
Leon U SergiFranceXuxue Feng NEW
Isabel T TollnerGermanyElwin Sharvill NEGOTIATION
Rodrigues A NestleFranceIvan Magalhaes QUALIFIED
Misaki J IturbideGermanyStephen Shaw QUALIFIED
Cody A AlbaresJapanAsiya Javayant NEW
Johnson U BriddickFranceAmy Elsner NEGOTIATION
Tony X VocelkaRussiaAsiya Javayant NEGOTIATION
Nicolas K BowleyBrazilAmy Elsner NEGOTIATION
Mayumi J BriddickRussiaElwin Sharvill NEW
Tony U WaycottAustraliaIvan Magalhaes NEGOTIATION
Leja D AlbaresCanadaIoni Bowcher RENEWAL
Murillo A VocelkaIndiaAsiya Javayant QUALIFIED
Leja O ShinkoBrazilBernardo Dominic NEGOTIATION
Aika L CampainRussiaStephen Shaw NEW
Leja B GauchoJapanXuxue Feng UNQUALIFIED
Maisha Y CampainGermanyXuxue Feng QUALIFIED
Aditya R RulapaughBrazilOnyama Limba NEW
Johnson S WhobreyArgentinaIvan Magalhaes PROPOSAL
Stacey H ButtGermanyIvan Magalhaes NEGOTIATION
Maria L IturbideGermanyElwin Sharvill NEGOTIATION
Emily Q MaletUnited KingdomIvan Magalhaes NEW
Leja N WaycottArgentinaElwin Sharvill NEGOTIATION
Misaki P DarakjyRussiaOnyama Limba QUALIFIED
Maisha M KuskoItalyXuxue Feng PROPOSAL
Costa H TollnerCanadaBernardo Dominic QUALIFIED
Kaitlin P MacleadCanadaIoni Bowcher RENEWAL
Claire C MarrierJapanAsiya Javayant NEGOTIATION
Frozen Columns
Name
Darci E Wieser
Greenwood N Poquette
Misaki B Darakjy
Izzy V Dilliard
Leja I Paprocki
Clifford C Chui
Aruna X Whobrey
Costa V Foller
Claire F Darakjy
David C Nestle
James V Marrier
Aditya Y Tollner
Sinclair F Bolognia
Octavia X Ruta
Jefferson H Caldarera
Salvatore O Garufi
Aditya L Rim
Kadeem B Inouye
Jones E Chui
James L Stockham
Ricardo T Bowley
Costa B Caudy
Kadeem C Vocelka
Silvio W Ruta
Aika B Rulapaugh
Maria Y Gaucho
Ricardo K Malet
Arvin A Waycott
David V Figeroa
Francesco C Caldarera
Nicolas Y Marrier
Leon T Stenseth
Aika X Schemmer
Stacey X Whobrey
Morrow F Amigon
Isabel B Malet
Silvio C Foller
Rodrigues M Wieser
Ricardo V Darakjy
Mayumi X Bowley
Julie N Darakjy
Izzy Y Ostrosky
Mayumi H Flosi
Isabel F Sergi
Ashley A Ostrosky
Mujtaba H Nestle
Adams N Figeroa
Kadeem Y Darakjy
David P Glick
Costa J Iturbide
IdCountryDate
1000Spain2024-06-01
1001India2024-06-13
1002Canada2024-05-23
1003United Kingdom2024-05-23
1004Japan2024-06-05
1005Spain2024-05-21
1006Russia2024-06-04
1007India2024-06-16
1008United Kingdom2024-06-15
1009Brazil2024-05-29
1010France2024-06-10
1011Japan2024-05-25
1012Italy2024-05-25
1013Italy2024-06-15
1014Spain2024-06-07
1015Argentina2024-05-24
1016Brazil2024-05-20
1017Argentina2024-06-12
1018Russia2024-06-06
1019Japan2024-05-21
1020Germany2024-05-21
1021Brazil2024-05-20
1022Russia2024-06-06
1023Germany2024-06-01
1024France2024-05-26
1025Germany2024-05-28
1026Canada2024-06-15
1027Spain2024-06-03
1028Australia2024-05-27
1029India2024-05-26
1030Russia2024-06-14
1031United Kingdom2024-06-15
1032India2024-06-09
1033India2024-05-31
1034Spain2024-06-07
1035Italy2024-06-05
1036Japan2024-06-09
1037Italy2024-06-15
1038Australia2024-06-16
1039United Kingdom2024-05-31
1040France2024-06-07
1041United Kingdom2024-05-21
1042Germany2024-06-15
1043Canada2024-06-03
1044Australia2024-06-06
1045Brazil2024-05-26
1046India2024-06-03
1047Brazil2024-05-25
1048India2024-05-26
1049Spain2024-05-24

On-Demand Data

NameIdCountryDate
Kadeem F Perin1000Russia2024-06-04
Adams L Rim1001Japan2024-05-23
Mayumi Y Gillian1002Russia2024-06-04
Morrow G Darakjy1003Germany2024-06-14
Sinclair X Caudy1004Germany2024-05-30
Smith X Gaucho1005Italy2024-05-22
Julie M Flosi1006Spain2024-05-22
Murillo R Darakjy1007Australia2024-06-04
Faith S Ruta1008Italy2024-05-28
David A Doe1009Italy2024-05-27
Julie S Maclead1010India2024-06-10
Ricardo M Rim1011United Kingdom2024-05-23
Antonio P Saylors1012India2024-05-27
Kadeem D Kusko1013Brazil2024-06-10
Claire T Figeroa1014Germany2024-06-08
Murillo N Royster1015Brazil2024-06-01
Mujtaba I Slusarski1016India2024-05-20
Smith S Briddick1017Italy2024-05-25
Jones J Gillian1018India2024-06-11
Maria J Tollner1019Russia2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki M SaylorsIndiaAnna Fali NEW
David A RoysterCanadaAnna Fali RENEWAL
Aruna B PaprockiItalyAnna Fali NEGOTIATION
Misaki W WaycottFranceXuxue Feng RENEWAL
Greenwood G AlbaresItalyXuxue Feng RENEWAL
Mujtaba Z IturbideArgentinaElwin Sharvill PROPOSAL
Tony D CaldareraGermanyElwin Sharvill RENEWAL
Wickens G VenereFranceIvan Magalhaes RENEWAL
Murillo F KolmetzFranceBernardo Dominic RENEWAL
Deepesh K GillianCanadaIoni Bowcher NEGOTIATION
Darci B WhobreyFranceElwin Sharvill QUALIFIED
Kaitlin U KuskoGermanyElwin Sharvill PROPOSAL
Greenwood M StensethSpainIoni Bowcher QUALIFIED
Ricardo O DarakjyArgentinaXuxue Feng NEW
David X NestleCanadaStephen Shaw UNQUALIFIED
Chavez F TollnerGermanyOnyama Limba UNQUALIFIED
Leon G FigeroaJapanStephen Shaw NEW
Morrow R GauchoItalyIoni Bowcher UNQUALIFIED
Johnson T DilliardFranceOnyama Limba NEGOTIATION
Claire Z PerinRussiaAmy Elsner RENEWAL
James G WhobreyUnited KingdomIoni Bowcher NEW
Smith M SaylorsArgentinaOnyama Limba UNQUALIFIED
Johnson R NestleGermanyStephen Shaw RENEWAL
Mayumi K MacleadItalyAnna Fali NEGOTIATION
Alejandro A RutaSpainAnna Fali QUALIFIED
Stacey F SchemmerBrazilElwin Sharvill PROPOSAL
Tony I MaletJapanOnyama Limba RENEWAL
Wickens M NickaFranceAmy Elsner NEW
Stacey P PerinItalyXuxue Feng QUALIFIED
Leja J SchemmerCanadaIvan Magalhaes PROPOSAL
Octavia W WaycottCanadaBernardo Dominic QUALIFIED
Greenwood N WhobreyJapanAmy Elsner QUALIFIED
Jeanfrancois L BowleyBrazilAnna Fali QUALIFIED
Aditya S SchemmerArgentinaIoni Bowcher NEW
Darci T FlosiFranceBernardo Dominic QUALIFIED
Deepesh N MarrierAustraliaAmy Elsner RENEWAL
Cody E DarakjyFranceAnna Fali PROPOSAL
Claire V RutaSpainOnyama Limba QUALIFIED
Stacey L SergiJapanAmy Elsner NEGOTIATION
Kadeem O KuskoBrazilIvan Magalhaes 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>