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
Stacey S BologniaAustraliaAmy Elsner NEGOTIATION
Aditya W WhobreyArgentinaXuxue Feng UNQUALIFIED
Maisha U RutaSpainAmy Elsner QUALIFIED
Francesco C CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Kadeem U MorascaAustraliaIoni Bowcher PROPOSAL
Claire L WieserSpainAmy Elsner UNQUALIFIED
Jeanfrancois J VenereCanadaAnna Fali RENEWAL
Johnson B OldroydUnited KingdomIoni Bowcher RENEWAL
Kadeem D RoysterArgentinaAmy Elsner PROPOSAL
Ivar O StockhamSpainAnna Fali PROPOSAL
Aruna N WieserRussiaBernardo Dominic RENEWAL
Wickens G StockhamFranceBernardo Dominic PROPOSAL
Smith R BriddickUnited KingdomIvan Magalhaes PROPOSAL
Julie Y WaycottUnited KingdomBernardo Dominic NEGOTIATION
Leja T WhobreyAustraliaAmy Elsner NEW
Juan J FigeroaCanadaAsiya Javayant RENEWAL
Smith D FlosiIndiaBernardo Dominic QUALIFIED
Greenwood G ShinkoAustraliaAmy Elsner QUALIFIED
Misaki A GarufiUnited KingdomBernardo Dominic QUALIFIED
Izzy S IturbideItalyIvan Magalhaes PROPOSAL
Salvatore K KolmetzArgentinaAnna Fali UNQUALIFIED
Jeanfrancois G CampainUnited KingdomIoni Bowcher NEW
Murillo J GauchoBrazilElwin Sharvill UNQUALIFIED
Johnson X CampainJapanIoni Bowcher UNQUALIFIED
Octavia U WaycottCanadaStephen Shaw NEGOTIATION
Aruna W WieserAustraliaIoni Bowcher QUALIFIED
Jones T SergiGermanyOnyama Limba PROPOSAL
Jennifer M NestleSpainIvan Magalhaes PROPOSAL
James I VenereArgentinaBernardo Dominic NEW
Ricardo C InouyeItalyAsiya Javayant PROPOSAL
Aika T ChuiIndiaStephen Shaw UNQUALIFIED
Tony E SchemmerCanadaElwin Sharvill NEGOTIATION
Kadeem Q NickaCanadaStephen Shaw RENEWAL
Francesco V WaycottSpainAnna Fali RENEWAL
Mayumi X WieserJapanAmy Elsner UNQUALIFIED
Ashley F CaldareraBrazilOnyama Limba UNQUALIFIED
Munro S MorascaUnited KingdomXuxue Feng UNQUALIFIED
Salvatore L KuskoJapanAmy Elsner NEW
Antonio C OstroskyGermanyBernardo Dominic NEGOTIATION
Faith A RulapaughBrazilIoni Bowcher QUALIFIED
Nicolas D OstroskySpainElwin Sharvill QUALIFIED
Sinclair Z RoysterArgentinaBernardo Dominic NEW
Jones R BriddickItalyBernardo Dominic PROPOSAL
Arvin G MacleadJapanXuxue Feng NEGOTIATION
Izzy A BologniaUnited KingdomIoni Bowcher NEW
Izzy Y BriddickRussiaElwin Sharvill NEW
Octavia O RulapaughGermanyBernardo Dominic UNQUALIFIED
Wickens X IturbideGermanyElwin Sharvill RENEWAL
Juan K MarrierFranceAsiya Javayant PROPOSAL
Mayumi L StockhamRussiaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones L BologniaBrazilAmy Elsner NEGOTIATION
Wickens N BriddickItalyBernardo Dominic UNQUALIFIED
Jennifer P CaldareraIndiaStephen Shaw NEGOTIATION
Munro W VenereFranceAnna Fali NEW
Cody R SergiAustraliaIvan Magalhaes RENEWAL
Jeanfrancois Q SaylorsSpainStephen Shaw NEW
Emily W SaylorsAustraliaStephen Shaw NEGOTIATION
Clifford K StensethCanadaStephen Shaw PROPOSAL
Darci F NestleItalyBernardo Dominic NEGOTIATION
Arvin J GlickArgentinaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin Z MorascaRussia2024-05-31Feiner Bros NEGOTIATION82Xuxue Feng
1001Kaitlin C DilliardBrazil2024-06-06Rangoni Of Florence PROPOSAL64Anna Fali
1002Julie Y FerenczAustralia2024-06-12King, Christopher A Esq PROPOSAL16Elwin Sharvill
1003Kaitlin R NickaAustralia2024-06-06Benton, John B Jr PROPOSAL32Amy Elsner
1004Deepesh Q FollerFrance2024-06-03Dorl, James J Esq QUALIFIED53Elwin Sharvill
1005Salvatore E InouyeJapan2024-06-11Chanay, Jeffrey A Esq RENEWAL24Onyama Limba
1006Chavez Y RoysterRussia2024-05-30Feltz Printing Service QUALIFIED2Amy Elsner
1007Johnson T CampainItaly2024-06-01Chapman, Ross E Esq NEGOTIATION83Stephen Shaw
1008Emily J SlusarskiItaly2024-05-30King, Christopher A Esq NEW3Bernardo Dominic
1009Octavia I MacleadItaly2024-06-20Benton, John B Jr QUALIFIED30Anna Fali
1010Leon V BologniaSpain2024-06-20Commercial Press QUALIFIED30Xuxue Feng
1011Jennifer B ShinkoAustralia2024-06-14Benton, John B Jr QUALIFIED12Ivan Magalhaes
1012Ivar I MacleadItaly2024-05-30Dorl, James J Esq NEGOTIATION83Onyama Limba
1013Johnson E InouyeAustralia2024-05-29Buckley Miller Wright QUALIFIED30Ioni Bowcher
1014Salvatore H MaletBrazil2024-05-31Chemel, James L Cpa PROPOSAL98Amy Elsner
1015Maisha L VenereBrazil2024-06-08Dorl, James J Esq NEGOTIATION67Stephen Shaw
1016Jennifer N VocelkaAustralia2024-06-05Morlong Associates UNQUALIFIED38Stephen Shaw
1017Mayumi S MacleadFrance2024-06-04Chemel, James L Cpa UNQUALIFIED48Ivan Magalhaes
1018Misaki R DoeUnited Kingdom2024-06-11Truhlar And Truhlar Attys QUALIFIED48Elwin Sharvill
1019Salvatore M SchemmerGermany2024-06-07Chemel, James L Cpa QUALIFIED18Ioni Bowcher
1020Costa K BowleyItaly2024-06-09Benton, John B Jr UNQUALIFIED49Amy Elsner
1021Jones O GarufiUnited Kingdom2024-06-20Feltz Printing Service NEW56Bernardo Dominic
1022Mayumi C DilliardItaly2024-06-12Benton, John B Jr RENEWAL61Stephen Shaw
1023Maisha L InouyeBrazil2024-05-31Printing Dimensions RENEWAL65Ioni Bowcher
1024Adams L DarakjyGermany2024-05-29Chapman, Ross E Esq NEGOTIATION82Asiya Javayant
1025Salvatore D FerenczAustralia2024-06-02Dorl, James J Esq NEGOTIATION33Elwin Sharvill
1026Jones S ChuiFrance2024-05-27Printing Dimensions PROPOSAL8Ioni Bowcher
1027Aika M ChuiBrazil2024-06-18King, Christopher A Esq UNQUALIFIED40Bernardo Dominic
1028Darci O OldroydItaly2024-06-02Feiner Bros RENEWAL60Amy Elsner
1029Smith H SlusarskiSpain2024-05-25King, Christopher A Esq RENEWAL70Asiya Javayant
1030Wickens Q WieserIndia2024-05-24Printing Dimensions NEGOTIATION72Bernardo Dominic
1031James J DarakjyCanada2024-06-04Rousseaux, Michael Esq UNQUALIFIED51Onyama Limba
1032Alejandro Y AlbaresCanada2024-06-12Benton, John B Jr NEW94Asiya Javayant
1033Misaki P DarakjyGermany2024-05-28Truhlar And Truhlar Attys PROPOSAL72Onyama Limba
1034Darci F AlbaresBrazil2024-06-19Benton, John B Jr QUALIFIED72Bernardo Dominic
1035Cody M DoeAustralia2024-05-24Feltz Printing Service PROPOSAL5Anna Fali
1036Misaki Q BowleyArgentina2024-05-26Buckley Miller Wright QUALIFIED83Anna Fali
1037Claire N MarrierAustralia2024-06-03Benton, John B Jr UNQUALIFIED56Bernardo Dominic
1038Clifford U FerenczUnited Kingdom2024-06-11Printing Dimensions NEGOTIATION92Anna Fali
1039Greenwood F MorascaFrance2024-06-04King, Christopher A Esq QUALIFIED86Anna Fali
1040Jennifer Z DoeItaly2024-05-24Feiner Bros UNQUALIFIED35Ioni Bowcher
1041Claire J VenereSpain2024-06-09King, Christopher A Esq PROPOSAL42Asiya Javayant
1042Emily B BologniaSpain2024-06-10King, Christopher A Esq QUALIFIED84Bernardo Dominic
1043David O GlickCanada2024-06-06Feltz Printing Service NEGOTIATION31Asiya Javayant
1044Emily E PoquetteIndia2024-05-26King, Christopher A Esq RENEWAL47Elwin Sharvill
1045Isabel D RutaJapan2024-05-25Buckley Miller Wright PROPOSAL9Amy Elsner
1046Kaitlin C SergiFrance2024-05-31Truhlar And Truhlar Attys PROPOSAL3Amy Elsner
1047Maisha J ChuiAustralia2024-06-21Chanay, Jeffrey A Esq NEGOTIATION9Ivan Magalhaes
1048Aika E AlbaresAustralia2024-06-22Chanay, Jeffrey A Esq QUALIFIED13Xuxue Feng
1049Octavia W RutaItaly2024-06-09King, Christopher A Esq NEGOTIATION34Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Deepesh X MorascaFranceAnna Fali UNQUALIFIED
Arvin P StockhamBrazilXuxue Feng QUALIFIED
Rodrigues G ButtFranceIoni Bowcher QUALIFIED
Jefferson E ShinkoUnited KingdomBernardo Dominic PROPOSAL
Jefferson K MorascaGermanyIvan Magalhaes NEGOTIATION
Izzy R GarufiArgentinaStephen Shaw NEW
Sinclair F FlosiIndiaAsiya Javayant NEGOTIATION
Clifford T WhobreyBrazilOnyama Limba UNQUALIFIED
Cody B FigeroaIndiaElwin Sharvill NEGOTIATION
Munro E PoquetteAustraliaBernardo Dominic UNQUALIFIED
David C RimBrazilElwin Sharvill UNQUALIFIED
Faith W MacleadCanadaAnna Fali NEGOTIATION
Leon V FollerBrazilXuxue Feng RENEWAL
Kadeem O DarakjyItalyAsiya Javayant NEW
Emily X ChuiAustraliaBernardo Dominic NEW
Kadeem S DarakjyFranceOnyama Limba RENEWAL
Octavia D StensethFranceAnna Fali QUALIFIED
Julie W OldroydArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois U MorascaIndiaAmy Elsner RENEWAL
Aika C RimSpainAmy Elsner QUALIFIED
Ashley P TollnerSpainBernardo Dominic RENEWAL
Aika D KuskoFranceIvan Magalhaes PROPOSAL
Alejandro F MorascaIndiaElwin Sharvill PROPOSAL
Aditya H InouyeBrazilStephen Shaw UNQUALIFIED
Izzy K NickaFranceIoni Bowcher UNQUALIFIED
Chavez Y FigeroaJapanStephen Shaw NEW
Costa D RutaArgentinaAmy Elsner RENEWAL
Arvin M MarrierIndiaXuxue Feng NEGOTIATION
Maria J TollnerRussiaIvan Magalhaes UNQUALIFIED
Isabel C SaylorsFranceAsiya Javayant PROPOSAL
Deepesh E AlbaresAustraliaStephen Shaw PROPOSAL
Ricardo Z NestleAustraliaElwin Sharvill RENEWAL
Morrow W TollnerItalyAmy Elsner RENEWAL
Johnson S MaletCanadaAsiya Javayant UNQUALIFIED
Antonio I WieserFranceBernardo Dominic RENEWAL
David Z WhobreySpainBernardo Dominic NEW
Misaki R ShinkoGermanyXuxue Feng PROPOSAL
Rodrigues S VenereIndiaOnyama Limba RENEWAL
Sinclair D ButtBrazilIoni Bowcher QUALIFIED
Silvio A CaldareraIndiaIoni Bowcher RENEWAL
Juan O WaycottCanadaXuxue Feng NEGOTIATION
Leon G ChuiBrazilIoni Bowcher PROPOSAL
Aika R GauchoJapanOnyama Limba QUALIFIED
Leon T StensethAustraliaStephen Shaw UNQUALIFIED
Claire A SchemmerCanadaBernardo Dominic QUALIFIED
Wickens N BowleyFranceIvan Magalhaes QUALIFIED
Jeanfrancois D IturbideCanadaIoni Bowcher RENEWAL
Adams L CaldareraFranceXuxue Feng NEW
Izzy T CampainJapanAnna Fali UNQUALIFIED
Aditya S FollerCanadaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Leja Y Morasca
Mujtaba C Oldroyd
James V Slusarski
Stacey O Schemmer
Juan B Rulapaugh
Aditya R Chui
Maisha D Briddick
Morrow R Bolognia
Chavez C Malet
Silvio X Malet
Mujtaba U Iturbide
Deepesh H Poquette
Alejandro M Kolmetz
Costa R Tollner
Jeanfrancois A Chui
Tony J Iturbide
Izzy I Foller
Sinclair E Venere
Claire F Briddick
David G Caudy
Faith Y Wieser
Cody S Marrier
Aruna N Paprocki
Deepesh Y Royster
James M Marrier
Alejandro Z Oldroyd
Julie V Iturbide
Jeanfrancois Q Briddick
Jefferson D Ferencz
Octavia Q Chui
Jones W Caudy
Francesco T Flosi
Adams D Schemmer
Costa L Oldroyd
Alejandro S Malet
Isabel F Glick
Jennifer M Kolmetz
David V Garufi
Jones Y Doe
Clifford A Chui
Kaitlin I Iturbide
Alejandro O Nicka
Jefferson M Caudy
Misaki C Iturbide
Darci W Caudy
Darci N Waycott
Tony Z Chui
Misaki B Royster
Francesco K Kusko
David C Campain
IdCountryDate
1000Japan2024-06-19
1001United Kingdom2024-06-05
1002Russia2024-06-22
1003Spain2024-06-05
1004India2024-05-27
1005Australia2024-06-20
1006France2024-05-30
1007France2024-05-30
1008Argentina2024-05-24
1009Germany2024-06-15
1010Spain2024-06-10
1011India2024-05-30
1012Australia2024-06-10
1013Italy2024-06-03
1014Russia2024-06-03
1015France2024-06-13
1016France2024-05-30
1017United Kingdom2024-06-20
1018India2024-06-09
1019United Kingdom2024-06-15
1020Spain2024-06-04
1021Japan2024-06-10
1022Argentina2024-06-01
1023Italy2024-06-10
1024Argentina2024-06-13
1025Brazil2024-06-09
1026Russia2024-05-30
1027Australia2024-06-22
1028Spain2024-05-30
1029United Kingdom2024-06-12
1030Australia2024-06-20
1031Russia2024-06-07
1032Italy2024-06-18
1033Argentina2024-06-20
1034Russia2024-06-07
1035Spain2024-06-14
1036Australia2024-05-25
1037Canada2024-05-29
1038Argentina2024-06-20
1039Spain2024-06-05
1040Spain2024-06-04
1041India2024-06-18
1042France2024-05-25
1043Australia2024-06-20
1044Russia2024-05-31
1045India2024-06-16
1046Argentina2024-05-24
1047India2024-06-18
1048Argentina2024-06-21
1049Spain2024-06-14

On-Demand Data

NameIdCountryDate
Arvin E Caldarera1000Japan2024-05-29
Aruna P Garufi1001Italy2024-06-08
Francesco D Amigon1002Germany2024-06-09
Mujtaba K Paprocki1003Germany2024-06-05
Morrow Y Inouye1004France2024-05-28
Maria A Caudy1005India2024-06-14
Munro Y Slusarski1006Russia2024-06-01
Arvin H Malet1007Australia2024-06-09
Kaitlin W Dilliard1008Spain2024-06-20
Faith M Campain1009United Kingdom2024-06-15
Costa Z Venere1010Brazil2024-05-27
Maria W Amigon1011Germany2024-05-25
Ricardo I Chui1012Spain2024-05-27
Kadeem I Stenseth1013Argentina2024-06-07
Julie A Shinko1014Australia2024-06-03
Misaki Y Gaucho1015Japan2024-05-30
Clifford A Iturbide1016Canada2024-06-12
Kaitlin O Campain1017United Kingdom2024-05-24
Smith O Tollner1018Russia2024-06-03
Jones B Foller1019Germany2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie B VocelkaGermanyAnna Fali PROPOSAL
Nicolas V InouyeArgentinaStephen Shaw PROPOSAL
Julie Q ChuiRussiaStephen Shaw UNQUALIFIED
Octavia X CampainArgentinaAmy Elsner RENEWAL
Nicolas M OstroskyAustraliaIoni Bowcher PROPOSAL
Rodrigues W MacleadCanadaIoni Bowcher NEW
Silvio V MaletBrazilAnna Fali QUALIFIED
Mayumi T RulapaughSpainXuxue Feng QUALIFIED
Clifford Q SergiRussiaIoni Bowcher RENEWAL
Ashley W ShinkoBrazilAnna Fali QUALIFIED
Greenwood C OstroskyJapanIvan Magalhaes QUALIFIED
Deepesh C BriddickSpainAsiya Javayant PROPOSAL
Costa O RutaCanadaBernardo Dominic UNQUALIFIED
Isabel E FigeroaItalyIoni Bowcher PROPOSAL
Faith J GlickGermanyXuxue Feng QUALIFIED
Leon A AmigonSpainIoni Bowcher QUALIFIED
Faith G CaudyBrazilOnyama Limba PROPOSAL
Stacey K DarakjyItalyAnna Fali PROPOSAL
Octavia C TollnerItalyIvan Magalhaes UNQUALIFIED
Octavia S CaldareraAustraliaIoni Bowcher NEW
Maria K BowleyItalyXuxue Feng NEW
David T DilliardCanadaXuxue Feng NEW
Alejandro W GarufiAustraliaElwin Sharvill UNQUALIFIED
Adams I PerinSpainAsiya Javayant QUALIFIED
Johnson R PerinBrazilIvan Magalhaes QUALIFIED
Faith I KuskoItalyIvan Magalhaes QUALIFIED
Murillo Y StockhamItalyAsiya Javayant UNQUALIFIED
Ricardo R BologniaFranceBernardo Dominic UNQUALIFIED
Arvin Q BriddickIndiaOnyama Limba RENEWAL
Costa Y BologniaArgentinaIvan Magalhaes PROPOSAL
Maria D MacleadGermanyAsiya Javayant PROPOSAL
David L SchemmerRussiaOnyama Limba UNQUALIFIED
Silvio O DilliardIndiaAnna Fali UNQUALIFIED
Munro U ChuiFranceIvan Magalhaes UNQUALIFIED
Isabel X MaletIndiaOnyama Limba NEGOTIATION
Julie H StockhamSpainAnna Fali UNQUALIFIED
Greenwood P CampainCanadaBernardo Dominic NEGOTIATION
James N MaletFranceStephen Shaw QUALIFIED
Silvio Y MorascaJapanElwin Sharvill RENEWAL
Morrow A SergiSpainElwin Sharvill RENEWAL

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