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
Kadeem R DarakjyFranceStephen Shaw QUALIFIED
Maisha W TollnerArgentinaStephen Shaw QUALIFIED
Deepesh S SergiAustraliaAmy Elsner RENEWAL
Smith Q VocelkaUnited KingdomAnna Fali UNQUALIFIED
Faith S CaldareraCanadaElwin Sharvill RENEWAL
Maisha B WaycottSpainAsiya Javayant PROPOSAL
Silvio V PaprockiArgentinaIvan Magalhaes NEGOTIATION
Alejandro L RoysterRussiaOnyama Limba RENEWAL
Mayumi R AlbaresUnited KingdomAnna Fali PROPOSAL
Faith S StensethArgentinaOnyama Limba PROPOSAL
Isabel N FlosiGermanyAnna Fali QUALIFIED
Murillo A BriddickJapanAmy Elsner UNQUALIFIED
Morrow Z NestleAustraliaStephen Shaw RENEWAL
Cody Z FerenczUnited KingdomBernardo Dominic QUALIFIED
Arvin T WieserBrazilAsiya Javayant QUALIFIED
Maisha Z WhobreySpainAnna Fali NEGOTIATION
Aruna W DoeRussiaStephen Shaw PROPOSAL
Smith B GlickCanadaElwin Sharvill UNQUALIFIED
Adams B OstroskyAustraliaOnyama Limba RENEWAL
Ivar U BowleyUnited KingdomAsiya Javayant QUALIFIED
Kaitlin F VocelkaRussiaAnna Fali NEW
Arvin V StensethAustraliaAmy Elsner NEGOTIATION
Aditya Y FlosiArgentinaBernardo Dominic NEGOTIATION
Jefferson F WhobreyItalyIoni Bowcher UNQUALIFIED
Isabel S GauchoGermanyAsiya Javayant NEGOTIATION
Octavia C FollerIndiaAmy Elsner RENEWAL
Chavez A MorascaGermanyAmy Elsner RENEWAL
Kadeem S ChuiJapanIvan Magalhaes PROPOSAL
Costa X GauchoIndiaElwin Sharvill NEW
Greenwood C ButtArgentinaElwin Sharvill QUALIFIED
Adams X MaletJapanAsiya Javayant QUALIFIED
Salvatore W FigeroaIndiaElwin Sharvill NEGOTIATION
Greenwood Q CampainGermanyAmy Elsner NEW
Clifford S FerenczGermanyBernardo Dominic NEGOTIATION
Nicolas L OstroskyCanadaAnna Fali NEGOTIATION
Munro B BriddickUnited KingdomAnna Fali NEW
Leja Z AlbaresCanadaIvan Magalhaes NEGOTIATION
Adams A CaldareraFranceAsiya Javayant RENEWAL
Silvio M RimRussiaIoni Bowcher QUALIFIED
Julie J IturbideBrazilIoni Bowcher QUALIFIED
Morrow X PaprockiSpainIvan Magalhaes NEGOTIATION
Juan Y InouyeFranceBernardo Dominic UNQUALIFIED
Cody J GillianAustraliaOnyama Limba QUALIFIED
Aika Y WieserSpainBernardo Dominic PROPOSAL
Tony N IturbideRussiaBernardo Dominic NEW
Stacey R GillianItalyXuxue Feng NEW
Ricardo N GarufiUnited KingdomElwin Sharvill UNQUALIFIED
Costa D MacleadAustraliaIoni Bowcher UNQUALIFIED
Arvin Y RutaRussiaIvan Magalhaes UNQUALIFIED
Francesco V KolmetzIndiaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford V DarakjyGermanyBernardo Dominic RENEWAL
Antonio A MarrierIndiaXuxue Feng RENEWAL
Jennifer O SergiArgentinaBernardo Dominic NEW
Isabel V StockhamArgentinaAnna Fali NEGOTIATION
Leon P AmigonUnited KingdomOnyama Limba NEW
Greenwood V PaprockiJapanBernardo Dominic PROPOSAL
Mayumi C GarufiSpainAsiya Javayant UNQUALIFIED
Aruna O BriddickItalyElwin Sharvill NEGOTIATION
Salvatore A RimSpainElwin Sharvill RENEWAL
Isabel M IturbideAustraliaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore A MarrierCanada2024-05-18Chemel, James L Cpa NEGOTIATION13Amy Elsner
1001Darci Q TollnerRussia2024-06-09Chanay, Jeffrey A Esq QUALIFIED65Ioni Bowcher
1002Aruna P MacleadCanada2024-06-06Commercial Press QUALIFIED93Anna Fali
1003Murillo S CaudyIndia2024-06-01Rousseaux, Michael Esq QUALIFIED58Xuxue Feng
1004Leon T OstroskyAustralia2024-06-01Rangoni Of Florence NEW38Bernardo Dominic
1005Kaitlin Q SaylorsAustralia2024-06-10Morlong Associates UNQUALIFIED16Elwin Sharvill
1006Emily F MorascaItaly2024-06-04Morlong Associates NEGOTIATION76Amy Elsner
1007Deepesh Z WieserGermany2024-06-07Dorl, James J Esq RENEWAL47Stephen Shaw
1008Smith E SergiUnited Kingdom2024-06-13Truhlar And Truhlar Attys PROPOSAL48Stephen Shaw
1009Deepesh G NestleItaly2024-05-18Truhlar And Truhlar Attys PROPOSAL89Onyama Limba
1010James S NestleRussia2024-05-29Commercial Press QUALIFIED15Xuxue Feng
1011Cody J NestleBrazil2024-05-27Dorl, James J Esq UNQUALIFIED57Amy Elsner
1012Jeanfrancois C RimArgentina2024-05-28Morlong Associates NEW29Bernardo Dominic
1013Ivar B BriddickArgentina2024-06-04Chanay, Jeffrey A Esq NEW23Ivan Magalhaes
1014Sinclair P FerenczUnited Kingdom2024-05-20Feiner Bros NEW16Asiya Javayant
1015Silvio L StensethAustralia2024-05-15Chapman, Ross E Esq UNQUALIFIED5Anna Fali
1016Julie H InouyeSpain2024-05-29Feltz Printing Service NEW18Asiya Javayant
1017Francesco G DilliardIndia2024-05-23Benton, John B Jr QUALIFIED29Elwin Sharvill
1018Ivar J KuskoIndia2024-05-30Dorl, James J Esq RENEWAL7Ivan Magalhaes
1019Murillo J MacleadAustralia2024-05-29Rousseaux, Michael Esq NEW4Anna Fali
1020Sinclair L SergiArgentina2024-06-12Printing Dimensions QUALIFIED23Ioni Bowcher
1021Munro G ShinkoFrance2024-05-29Buckley Miller Wright NEGOTIATION72Anna Fali
1022Nicolas A StensethRussia2024-05-20Feiner Bros RENEWAL28Ioni Bowcher
1023Antonio S BowleyAustralia2024-05-29Truhlar And Truhlar Attys RENEWAL62Asiya Javayant
1024Deepesh E BologniaAustralia2024-05-28Chemel, James L Cpa NEGOTIATION95Ivan Magalhaes
1025Silvio X IturbideUnited Kingdom2024-05-19Benton, John B Jr PROPOSAL28Ioni Bowcher
1026Greenwood K GillianSpain2024-06-12Commercial Press UNQUALIFIED17Onyama Limba
1027Costa B CaldareraUnited Kingdom2024-05-24Commercial Press NEW80Onyama Limba
1028Mayumi Y MaletJapan2024-05-24Chemel, James L Cpa UNQUALIFIED33Onyama Limba
1029Jones T AlbaresArgentina2024-05-15Feiner Bros UNQUALIFIED90Xuxue Feng
1030Mujtaba G ButtIndia2024-05-30Chanay, Jeffrey A Esq PROPOSAL94Ivan Magalhaes
1031Darci Q RimRussia2024-05-20Feltz Printing Service NEW90Ioni Bowcher
1032Nicolas T SergiIndia2024-05-24King, Christopher A Esq QUALIFIED23Bernardo Dominic
1033Tony P PaprockiAustralia2024-06-02Morlong Associates NEW3Anna Fali
1034Jennifer G IturbideGermany2024-06-13Chapman, Ross E Esq PROPOSAL27Onyama Limba
1035Faith X VenereFrance2024-05-30Morlong Associates PROPOSAL41Asiya Javayant
1036Aika H AmigonIndia2024-06-13Morlong Associates PROPOSAL0Bernardo Dominic
1037Kaitlin Q GauchoBrazil2024-05-22King, Christopher A Esq NEGOTIATION95Bernardo Dominic
1038Leja U SlusarskiGermany2024-05-22Chanay, Jeffrey A Esq PROPOSAL98Bernardo Dominic
1039Wickens M ShinkoArgentina2024-06-06Morlong Associates RENEWAL15Stephen Shaw
1040Aruna J ChuiRussia2024-05-21Chemel, James L Cpa NEGOTIATION37Stephen Shaw
1041Ivar Q CaldareraGermany2024-05-25Feiner Bros PROPOSAL89Stephen Shaw
1042Maisha J SergiFrance2024-06-12Rousseaux, Michael Esq QUALIFIED19Onyama Limba
1043Claire F BriddickBrazil2024-05-17Chapman, Ross E Esq NEW70Ivan Magalhaes
1044Jeanfrancois Q KuskoArgentina2024-05-15Benton, John B Jr NEW78Xuxue Feng
1045James Y WaycottFrance2024-06-08Rousseaux, Michael Esq QUALIFIED9Elwin Sharvill
1046Wickens D MarrierAustralia2024-06-03Dorl, James J Esq RENEWAL32Anna Fali
1047Tony Q CampainSpain2024-05-30Feiner Bros PROPOSAL58Amy Elsner
1048Salvatore M AlbaresAustralia2024-06-02Chapman, Ross E Esq NEGOTIATION95Ioni Bowcher
1049Nicolas I WaycottBrazil2024-05-20Commercial Press UNQUALIFIED96Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Chavez B StensethCanadaXuxue Feng NEGOTIATION
Aika J SaylorsGermanyBernardo Dominic RENEWAL
Maria X FigeroaIndiaOnyama Limba NEGOTIATION
Morrow O WaycottFranceIvan Magalhaes PROPOSAL
Kaitlin K FerenczArgentinaAsiya Javayant NEGOTIATION
Silvio T AmigonItalyAnna Fali QUALIFIED
Jones P InouyeAustraliaOnyama Limba PROPOSAL
Salvatore F ButtItalyAmy Elsner NEW
Faith H FlosiIndiaAmy Elsner PROPOSAL
Silvio S IturbideIndiaOnyama Limba NEGOTIATION
Kadeem X StockhamItalyBernardo Dominic RENEWAL
Emily D WhobreyArgentinaElwin Sharvill RENEWAL
Leja K WhobreyIndiaAnna Fali PROPOSAL
Ivar H MaletJapanIvan Magalhaes NEW
Chavez A RutaSpainAnna Fali QUALIFIED
Jefferson X TollnerAustraliaIoni Bowcher NEW
Tony A MaletSpainIoni Bowcher RENEWAL
Julie W VocelkaSpainIvan Magalhaes NEW
Jefferson C MaletItalyAmy Elsner NEW
Maria R SchemmerItalyAnna Fali NEGOTIATION
Leon P WieserGermanyStephen Shaw RENEWAL
David X BologniaBrazilAsiya Javayant UNQUALIFIED
Aika F RulapaughGermanyXuxue Feng RENEWAL
Mujtaba Z StockhamFranceAmy Elsner RENEWAL
Maria P PoquetteFranceIoni Bowcher UNQUALIFIED
Alejandro K SlusarskiSpainOnyama Limba NEGOTIATION
Jennifer E PoquetteJapanElwin Sharvill NEGOTIATION
Rodrigues Q RoysterSpainAmy Elsner NEGOTIATION
Faith R ShinkoArgentinaOnyama Limba NEGOTIATION
Nicolas B OstroskyJapanStephen Shaw PROPOSAL
Clifford F GarufiItalyElwin Sharvill NEW
Morrow E KuskoSpainIvan Magalhaes QUALIFIED
Leja E MacleadArgentinaBernardo Dominic NEW
Munro F KolmetzFranceStephen Shaw PROPOSAL
Kaitlin F RoysterBrazilAnna Fali PROPOSAL
Izzy M SlusarskiRussiaXuxue Feng NEW
Izzy R OldroydGermanyIoni Bowcher NEW
Tony Q FlosiBrazilAsiya Javayant NEGOTIATION
Wickens U RimRussiaXuxue Feng UNQUALIFIED
Adams P OldroydItalyBernardo Dominic UNQUALIFIED
Jennifer X DoeAustraliaXuxue Feng NEGOTIATION
Jennifer L PaprockiSpainIvan Magalhaes RENEWAL
Jeanfrancois K ChuiCanadaAsiya Javayant NEGOTIATION
Mujtaba L WieserFranceAsiya Javayant PROPOSAL
Aditya U DoeUnited KingdomBernardo Dominic PROPOSAL
Maisha G WaycottGermanyStephen Shaw RENEWAL
Sinclair D PoquetteAustraliaOnyama Limba PROPOSAL
Clifford J GillianUnited KingdomIoni Bowcher UNQUALIFIED
Morrow H MaletAustraliaIoni Bowcher UNQUALIFIED
Julie I FlosiFranceIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Greenwood P Iturbide
Tony C Albares
Francesco Y Royster
Ashley E Nestle
Ricardo S Figeroa
Emily R Campain
Chavez I Glick
Nicolas H Rulapaugh
Maria L Inouye
Misaki Z Doe
James H Morasca
Cody T Dilliard
Mujtaba N Vocelka
Faith L Glick
Mayumi P Inouye
Clifford F Gillian
Darci Q Oldroyd
Ashley X Stockham
Tony B Campain
Maisha B Stenseth
Nicolas V Glick
Ivar E Campain
Aruna C Oldroyd
Julie D Vocelka
Costa A Gaucho
Costa M Paprocki
Rodrigues D Paprocki
Mujtaba W Foller
Sinclair K Caldarera
Rodrigues J Marrier
Arvin V Caudy
Salvatore D Flosi
Darci M Schemmer
Emily I Nestle
Francesco M Perin
James J Gaucho
Johnson R Gillian
Johnson A Glick
Jeanfrancois J Bowley
Julie K Whobrey
Jefferson H Flosi
Munro R Chui
Octavia O Paprocki
Darci U Maclead
Aika P Marrier
Leon S Nestle
Ricardo E Ostrosky
Ricardo Q Flosi
Adams N Tollner
Octavia H Inouye
IdCountryDate
1000Germany2024-05-26
1001Argentina2024-05-25
1002United Kingdom2024-06-04
1003Germany2024-05-20
1004Argentina2024-06-08
1005India2024-06-05
1006India2024-05-26
1007France2024-06-13
1008United Kingdom2024-06-09
1009Russia2024-06-12
1010Italy2024-05-27
1011Russia2024-05-28
1012Italy2024-05-29
1013Germany2024-06-04
1014Russia2024-06-06
1015United Kingdom2024-06-03
1016Argentina2024-06-01
1017Russia2024-06-01
1018Argentina2024-05-19
1019India2024-06-08
1020Germany2024-06-05
1021Canada2024-05-24
1022Germany2024-05-30
1023Australia2024-06-13
1024Australia2024-06-04
1025United Kingdom2024-05-21
1026Brazil2024-05-21
1027Italy2024-05-22
1028India2024-06-06
1029India2024-05-21
1030Japan2024-05-19
1031Italy2024-05-15
1032Canada2024-06-09
1033Russia2024-05-29
1034United Kingdom2024-05-18
1035Argentina2024-06-01
1036Italy2024-06-10
1037India2024-06-02
1038Australia2024-05-19
1039Japan2024-05-23
1040Argentina2024-05-25
1041Brazil2024-06-13
1042Russia2024-05-18
1043Germany2024-05-24
1044Japan2024-06-13
1045France2024-06-10
1046Brazil2024-05-23
1047Argentina2024-05-22
1048United Kingdom2024-05-30
1049United Kingdom2024-06-08

On-Demand Data

NameIdCountryDate
Sinclair I Gaucho1000Brazil2024-05-30
Isabel T Stenseth1001Japan2024-05-23
Cody O Stockham1002Italy2024-06-01
Murillo K Ferencz1003United Kingdom2024-05-27
Deepesh Q Whobrey1004Spain2024-05-16
Leja Z Garufi1005Brazil2024-05-16
Aditya F Flosi1006Brazil2024-06-10
Adams J Waycott1007Germany2024-06-01
Isabel I Inouye1008Germany2024-05-15
Silvio M Slusarski1009France2024-05-17
Juan J Rulapaugh1010Italy2024-06-09
Murillo D Dilliard1011India2024-06-09
Aruna P Briddick1012Spain2024-06-12
Ashley X Ferencz1013India2024-05-22
Leja O Perin1014Spain2024-06-12
Clifford I Nicka1015United Kingdom2024-05-17
Silvio E Slusarski1016Australia2024-06-06
Greenwood X Saylors1017Italy2024-05-21
David E Stenseth1018India2024-05-26
Kadeem J Darakjy1019Spain2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily Y DoeAustraliaBernardo Dominic NEW
Smith A NickaArgentinaIoni Bowcher PROPOSAL
Cody J DilliardSpainStephen Shaw UNQUALIFIED
Faith I IturbideGermanyAsiya Javayant RENEWAL
Chavez F WaycottArgentinaOnyama Limba RENEWAL
Arvin E MarrierGermanyElwin Sharvill QUALIFIED
Alejandro G FlosiBrazilIoni Bowcher QUALIFIED
Antonio Z RulapaughCanadaElwin Sharvill NEGOTIATION
Cody M PoquetteIndiaAnna Fali UNQUALIFIED
Adams F DarakjyRussiaBernardo Dominic UNQUALIFIED
Claire H RutaArgentinaIoni Bowcher QUALIFIED
Clifford M StensethAustraliaOnyama Limba NEGOTIATION
Ashley V WieserFranceIoni Bowcher QUALIFIED
Leja S VocelkaAustraliaAnna Fali NEW
Alejandro R RoysterGermanyStephen Shaw QUALIFIED
Emily J MacleadUnited KingdomBernardo Dominic PROPOSAL
Wickens R KolmetzFranceAsiya Javayant NEW
Greenwood A PaprockiArgentinaIvan Magalhaes QUALIFIED
Salvatore P WieserCanadaIvan Magalhaes UNQUALIFIED
Juan M WaycottUnited KingdomStephen Shaw PROPOSAL
Kadeem I NickaAustraliaXuxue Feng PROPOSAL
Adams Z MacleadGermanyAnna Fali UNQUALIFIED
Claire J PerinFranceBernardo Dominic UNQUALIFIED
Sinclair B MaletSpainElwin Sharvill UNQUALIFIED
Deepesh D RimIndiaElwin Sharvill RENEWAL
Alejandro V FlosiGermanyBernardo Dominic UNQUALIFIED
Costa I WieserItalyStephen Shaw QUALIFIED
Ivar G MaletRussiaStephen Shaw PROPOSAL
Aika Q OldroydUnited KingdomAmy Elsner UNQUALIFIED
Smith G CampainUnited KingdomOnyama Limba QUALIFIED
Deepesh X StockhamFranceElwin Sharvill NEGOTIATION
Juan X NickaJapanAmy Elsner PROPOSAL
Chavez O GarufiArgentinaAsiya Javayant NEW
Claire T FlosiBrazilBernardo Dominic PROPOSAL
Ricardo R ShinkoBrazilBernardo Dominic QUALIFIED
Ashley U PoquetteAustraliaStephen Shaw NEGOTIATION
Salvatore U ChuiArgentinaOnyama Limba NEW
Ashley D DoeJapanAsiya Javayant UNQUALIFIED
Adams R VocelkaSpainAmy Elsner NEW
Jones X FollerAustraliaOnyama Limba UNQUALIFIED

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