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
Leon Y IturbideBrazilElwin Sharvill NEGOTIATION
Mayumi Q KuskoUnited KingdomElwin Sharvill RENEWAL
Jefferson Y WieserBrazilIvan Magalhaes NEGOTIATION
Jones Q FollerCanadaAnna Fali UNQUALIFIED
Emily X BowleyAustraliaAnna Fali PROPOSAL
Clifford R BowleyJapanOnyama Limba RENEWAL
Maria H MacleadUnited KingdomXuxue Feng QUALIFIED
Leon H ChuiFranceAmy Elsner RENEWAL
Antonio A GlickSpainAnna Fali NEW
Izzy W CaudyAustraliaIvan Magalhaes QUALIFIED
Claire P NestleArgentinaOnyama Limba NEGOTIATION
Faith K FollerGermanyIoni Bowcher QUALIFIED
Cody Z FerenczBrazilAmy Elsner RENEWAL
Mayumi B OldroydSpainAnna Fali RENEWAL
Chavez E CampainAustraliaOnyama Limba QUALIFIED
James N TollnerRussiaAnna Fali UNQUALIFIED
Leja N VocelkaItalyOnyama Limba PROPOSAL
Aruna R BriddickCanadaAmy Elsner QUALIFIED
Jeanfrancois R DarakjyRussiaAsiya Javayant PROPOSAL
Costa U BologniaBrazilXuxue Feng QUALIFIED
Ashley L FollerAustraliaAmy Elsner NEGOTIATION
Izzy N FollerSpainOnyama Limba UNQUALIFIED
Jefferson P PerinBrazilIoni Bowcher UNQUALIFIED
Sinclair I WaycottFranceAsiya Javayant NEGOTIATION
Murillo R CaldareraArgentinaBernardo Dominic NEW
Alejandro J GillianCanadaAmy Elsner NEW
Nicolas P NickaCanadaStephen Shaw QUALIFIED
Cody W GlickBrazilOnyama Limba UNQUALIFIED
Isabel G MorascaItalyIoni Bowcher NEW
Stacey S FollerAustraliaElwin Sharvill NEGOTIATION
Silvio A WhobreyArgentinaElwin Sharvill RENEWAL
Julie R GlickUnited KingdomStephen Shaw NEGOTIATION
Mujtaba F AmigonIndiaXuxue Feng NEGOTIATION
Julie W GauchoAustraliaOnyama Limba NEW
Izzy Y PerinIndiaBernardo Dominic NEGOTIATION
Aditya R FerenczItalyElwin Sharvill NEW
Murillo S ButtSpainOnyama Limba QUALIFIED
David J ShinkoGermanyAmy Elsner UNQUALIFIED
Octavia O WieserItalyElwin Sharvill PROPOSAL
Ricardo W FerenczUnited KingdomElwin Sharvill NEGOTIATION
Alejandro U GlickCanadaAmy Elsner UNQUALIFIED
Aika N ButtSpainStephen Shaw QUALIFIED
Mayumi S DilliardJapanIoni Bowcher UNQUALIFIED
Murillo T SlusarskiIndiaAnna Fali NEGOTIATION
Maria P StensethAustraliaAsiya Javayant QUALIFIED
Leja D GauchoJapanOnyama Limba RENEWAL
Aditya X SlusarskiRussiaIoni Bowcher RENEWAL
Deepesh T KuskoAustraliaStephen Shaw UNQUALIFIED
Leon M DoeGermanyOnyama Limba NEGOTIATION
Mujtaba K GarufiItalyIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Deepesh F MacleadCanadaBernardo Dominic QUALIFIED
Greenwood G ShinkoJapanIvan Magalhaes NEW
Adams E OldroydRussiaIvan Magalhaes RENEWAL
Costa D TollnerAustraliaAnna Fali NEGOTIATION
Aditya B TollnerItalyStephen Shaw RENEWAL
Juan H RulapaughSpainIvan Magalhaes PROPOSAL
Leja H SchemmerAustraliaAsiya Javayant PROPOSAL
Leon K PerinFranceXuxue Feng UNQUALIFIED
Tony R DilliardCanadaXuxue Feng PROPOSAL
Aruna N BriddickAustraliaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire L SergiIndia2024-05-24King, Christopher A Esq QUALIFIED84Ioni Bowcher
1001Deepesh U ShinkoSpain2024-05-25Printing Dimensions QUALIFIED94Bernardo Dominic
1002Antonio G ChuiIndia2024-05-20Printing Dimensions NEW78Xuxue Feng
1003Smith S TollnerJapan2024-06-05Chemel, James L Cpa PROPOSAL66Xuxue Feng
1004Darci J SergiUnited Kingdom2024-05-22Morlong Associates NEW11Amy Elsner
1005Jones E DarakjyArgentina2024-06-13Chapman, Ross E Esq NEGOTIATION1Bernardo Dominic
1006Smith W NickaAustralia2024-05-28Dorl, James J Esq QUALIFIED6Elwin Sharvill
1007Sinclair I ButtCanada2024-05-24Dorl, James J Esq RENEWAL51Stephen Shaw
1008Julie S MaletCanada2024-06-11King, Christopher A Esq QUALIFIED87Onyama Limba
1009Emily X VocelkaArgentina2024-05-25Truhlar And Truhlar Attys NEGOTIATION29Bernardo Dominic
1010Cody H VocelkaUnited Kingdom2024-05-28Dorl, James J Esq NEGOTIATION77Ioni Bowcher
1011Francesco P GauchoRussia2024-05-29Commercial Press PROPOSAL86Ioni Bowcher
1012Aruna J SchemmerItaly2024-06-08Commercial Press NEW25Stephen Shaw
1013Francesco P MarrierArgentina2024-06-09Chemel, James L Cpa NEW15Onyama Limba
1014Isabel B BologniaRussia2024-05-19Dorl, James J Esq RENEWAL40Anna Fali
1015Kadeem A PerinArgentina2024-05-28Feiner Bros NEW49Bernardo Dominic
1016Murillo K RimIndia2024-05-22Buckley Miller Wright PROPOSAL84Ivan Magalhaes
1017Isabel G OldroydCanada2024-06-10Truhlar And Truhlar Attys NEW92Amy Elsner
1018Misaki B AmigonCanada2024-06-07Buckley Miller Wright NEGOTIATION67Anna Fali
1019Maisha P KuskoJapan2024-05-20Chapman, Ross E Esq QUALIFIED52Stephen Shaw
1020Ricardo T SlusarskiBrazil2024-05-29Benton, John B Jr UNQUALIFIED86Ioni Bowcher
1021Mayumi X ShinkoArgentina2024-05-31Morlong Associates RENEWAL98Xuxue Feng
1022Maisha X SaylorsRussia2024-06-10Dorl, James J Esq NEGOTIATION72Xuxue Feng
1023Juan Q AlbaresArgentina2024-05-22Morlong Associates NEW9Onyama Limba
1024Ivar S WieserSpain2024-05-27Benton, John B Jr NEGOTIATION90Anna Fali
1025James B CaudyRussia2024-05-21Feiner Bros PROPOSAL54Elwin Sharvill
1026Johnson M OstroskyArgentina2024-05-19King, Christopher A Esq RENEWAL87Elwin Sharvill
1027Murillo N MacleadRussia2024-06-10Dorl, James J Esq NEW12Ioni Bowcher
1028Mujtaba Z CaldareraIndia2024-05-30Rangoni Of Florence PROPOSAL99Elwin Sharvill
1029Maisha F GarufiIndia2024-06-07Feltz Printing Service QUALIFIED36Elwin Sharvill
1030Octavia K ChuiArgentina2024-05-22Commercial Press NEW18Elwin Sharvill
1031Tony M GillianFrance2024-05-17Chanay, Jeffrey A Esq UNQUALIFIED33Onyama Limba
1032Jefferson K ButtIndia2024-05-18Printing Dimensions UNQUALIFIED20Elwin Sharvill
1033Johnson X VocelkaAustralia2024-06-08Feltz Printing Service NEW48Asiya Javayant
1034Kadeem H SaylorsRussia2024-06-11Rangoni Of Florence PROPOSAL57Amy Elsner
1035Misaki D DarakjyUnited Kingdom2024-05-28Rousseaux, Michael Esq QUALIFIED53Onyama Limba
1036Faith C GlickFrance2024-05-16Buckley Miller Wright NEGOTIATION84Elwin Sharvill
1037Tony Q TollnerFrance2024-05-17Rangoni Of Florence RENEWAL30Ivan Magalhaes
1038Juan G BologniaJapan2024-05-30Morlong Associates NEGOTIATION95Xuxue Feng
1039Alejandro Z NestleCanada2024-05-27Benton, John B Jr NEW2Elwin Sharvill
1040Clifford B FigeroaAustralia2024-05-25Rangoni Of Florence NEW14Stephen Shaw
1041Morrow C InouyeGermany2024-06-11Benton, John B Jr PROPOSAL74Onyama Limba
1042Maisha V InouyeAustralia2024-06-07Buckley Miller Wright RENEWAL92Stephen Shaw
1043Aika A FollerItaly2024-06-14Rousseaux, Michael Esq RENEWAL97Onyama Limba
1044Octavia G NickaGermany2024-05-21Feltz Printing Service NEW10Onyama Limba
1045Aditya B NickaCanada2024-06-05Dorl, James J Esq RENEWAL96Asiya Javayant
1046Maisha N PaprockiSpain2024-05-16Feiner Bros NEGOTIATION47Bernardo Dominic
1047Stacey T InouyeArgentina2024-06-09Printing Dimensions PROPOSAL66Bernardo Dominic
1048David H RutaRussia2024-05-21Commercial Press QUALIFIED81Bernardo Dominic
1049Maisha P KuskoUnited Kingdom2024-06-12Truhlar And Truhlar Attys UNQUALIFIED52Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Francesco K CaldareraRussiaAsiya Javayant NEGOTIATION
James L MaletJapanIvan Magalhaes NEGOTIATION
Juan V MaletItalyAnna Fali UNQUALIFIED
Izzy B AlbaresGermanyXuxue Feng PROPOSAL
Maria P StockhamGermanyAnna Fali NEW
Aika O FlosiAustraliaAnna Fali QUALIFIED
Ivar W GarufiBrazilAnna Fali PROPOSAL
Emily T StockhamFranceAmy Elsner PROPOSAL
Alejandro L BologniaCanadaOnyama Limba UNQUALIFIED
David Q AlbaresItalyAsiya Javayant RENEWAL
Emily B SaylorsBrazilAnna Fali RENEWAL
Leon O ButtArgentinaAsiya Javayant UNQUALIFIED
Darci J StockhamArgentinaAsiya Javayant QUALIFIED
Octavia A NickaItalyStephen Shaw NEGOTIATION
Darci H AlbaresJapanElwin Sharvill UNQUALIFIED
Faith M ShinkoArgentinaBernardo Dominic PROPOSAL
Costa T KolmetzBrazilAnna Fali NEW
Cody H PaprockiIndiaXuxue Feng NEGOTIATION
Adams E SaylorsAustraliaAnna Fali PROPOSAL
Smith P GlickArgentinaAnna Fali RENEWAL
Murillo U NickaFranceIoni Bowcher QUALIFIED
Aditya Q SaylorsArgentinaAmy Elsner UNQUALIFIED
Izzy S IturbideGermanyOnyama Limba NEW
Salvatore F IturbideGermanyStephen Shaw PROPOSAL
James R GauchoJapanAmy Elsner NEGOTIATION
Misaki J GauchoSpainElwin Sharvill PROPOSAL
Jones Q PaprockiBrazilStephen Shaw RENEWAL
Emily I CaudyArgentinaIvan Magalhaes PROPOSAL
Emily J GillianRussiaElwin Sharvill RENEWAL
Kaitlin P WhobreyFranceStephen Shaw QUALIFIED
Adams W MarrierSpainBernardo Dominic QUALIFIED
Antonio B PaprockiSpainXuxue Feng NEGOTIATION
Mujtaba A GarufiIndiaXuxue Feng NEGOTIATION
James M RulapaughGermanyAmy Elsner NEW
Leja I FlosiAustraliaAsiya Javayant QUALIFIED
David W DarakjyCanadaElwin Sharvill RENEWAL
Leon T VenereJapanAnna Fali QUALIFIED
Kadeem Z WhobreySpainStephen Shaw QUALIFIED
Silvio I PerinUnited KingdomOnyama Limba NEW
Leon Z BriddickFranceAnna Fali NEGOTIATION
Chavez O DarakjyAustraliaStephen Shaw UNQUALIFIED
Chavez Z DilliardUnited KingdomAsiya Javayant QUALIFIED
Faith H BriddickItalyAmy Elsner PROPOSAL
Smith Z MarrierJapanOnyama Limba RENEWAL
Octavia F VenereArgentinaAnna Fali UNQUALIFIED
Adams R CaudyIndiaIvan Magalhaes RENEWAL
Emily F RulapaughSpainStephen Shaw RENEWAL
Wickens J SchemmerIndiaAsiya Javayant PROPOSAL
Jeanfrancois U OstroskyCanadaBernardo Dominic PROPOSAL
Munro C DarakjyIndiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Wickens N Kusko
Leon O Vocelka
Aruna M Saylors
Sinclair Q Royster
Kadeem R Saylors
Stacey R Inouye
Mayumi P Nestle
Arvin G Bolognia
Darci E Shinko
Ashley X Caudy
Jennifer A Malet
Greenwood J Doe
Izzy X Royster
Cody M Venere
Adams I Figeroa
Francesco D Marrier
Julie W Whobrey
Stacey H Flosi
Stacey J Whobrey
Smith E Sergi
Maisha M Chui
Stacey L Stockham
Deepesh U Gillian
Salvatore U Marrier
Salvatore S Rulapaugh
Antonio Z Figeroa
Cody H Malet
Octavia A Caldarera
Munro X Morasca
Aika G Venere
Izzy H Maclead
Aruna U Royster
Ricardo F Schemmer
Julie J Ferencz
Adams O Oldroyd
Jones T Wieser
Morrow B Gaucho
Johnson U Kusko
Maria C Amigon
Ivar F Ferencz
Claire Y Whobrey
Rodrigues H Glick
Octavia J Malet
Morrow N Stockham
Maisha K Malet
Jefferson I Nestle
David P Darakjy
Faith S Bowley
Antonio K Dilliard
Mayumi D Bowley
IdCountryDate
1000Argentina2024-05-16
1001Canada2024-06-14
1002Argentina2024-06-05
1003Italy2024-06-05
1004Australia2024-05-22
1005Japan2024-05-27
1006Italy2024-05-30
1007Spain2024-05-28
1008Russia2024-05-30
1009France2024-05-25
1010Canada2024-06-05
1011Spain2024-05-31
1012Germany2024-06-11
1013Argentina2024-05-16
1014Argentina2024-05-20
1015Canada2024-05-24
1016Italy2024-06-12
1017Argentina2024-06-13
1018Argentina2024-05-31
1019Russia2024-05-29
1020France2024-05-21
1021Japan2024-05-27
1022Canada2024-06-14
1023Japan2024-06-06
1024Spain2024-05-29
1025India2024-05-23
1026Argentina2024-05-18
1027Russia2024-05-27
1028Japan2024-05-27
1029Brazil2024-05-17
1030Spain2024-06-12
1031Argentina2024-06-12
1032Brazil2024-05-26
1033Spain2024-06-14
1034Russia2024-05-25
1035Argentina2024-05-21
1036Spain2024-05-26
1037Argentina2024-06-09
1038Canada2024-06-14
1039India2024-05-24
1040Brazil2024-06-05
1041Canada2024-05-18
1042Russia2024-05-17
1043Germany2024-05-22
1044Canada2024-05-25
1045Italy2024-05-29
1046Canada2024-05-20
1047Italy2024-05-23
1048France2024-05-28
1049Japan2024-06-06

On-Demand Data

NameIdCountryDate
Leja R Darakjy1000Russia2024-06-14
Salvatore M Glick1001Japan2024-06-06
Johnson Q Kusko1002Brazil2024-05-23
Misaki A Oldroyd1003United Kingdom2024-06-14
Costa H Waycott1004Australia2024-05-19
Octavia A Paprocki1005Italy2024-05-29
Misaki P Ruta1006United Kingdom2024-05-22
Adams J Glick1007Germany2024-06-09
Rodrigues E Morasca1008Germany2024-06-11
Octavia H Perin1009Canada2024-05-27
Mujtaba Q Stenseth1010Canada2024-06-14
Sinclair G Saylors1011Brazil2024-05-31
Antonio B Bowley1012Russia2024-05-27
Munro Z Briddick1013Australia2024-05-17
Mayumi E Doe1014Australia2024-05-24
Emily O Bolognia1015Germany2024-05-19
Misaki T Ruta1016Italy2024-06-03
Izzy T Caudy1017France2024-05-17
Ivar E Gaucho1018Germany2024-06-05
David D Amigon1019Italy2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin G RutaIndiaAmy Elsner PROPOSAL
Aditya F ChuiIndiaIoni Bowcher PROPOSAL
Maisha Z CaudyArgentinaAsiya Javayant UNQUALIFIED
Wickens S CaudyCanadaIvan Magalhaes UNQUALIFIED
Mayumi G CampainItalyOnyama Limba NEGOTIATION
Alejandro X VenereAustraliaStephen Shaw UNQUALIFIED
Silvio D DilliardJapanXuxue Feng PROPOSAL
Maisha H RulapaughIndiaAnna Fali PROPOSAL
James A GauchoJapanElwin Sharvill NEW
Mujtaba A KuskoArgentinaElwin Sharvill UNQUALIFIED
Arvin R AlbaresBrazilAsiya Javayant NEW
Greenwood Q PoquetteAustraliaBernardo Dominic QUALIFIED
Cody O SchemmerJapanIvan Magalhaes NEW
Maria I CaudyArgentinaOnyama Limba PROPOSAL
Aika D SlusarskiGermanyIoni Bowcher RENEWAL
Claire D RoysterItalyElwin Sharvill NEGOTIATION
Mujtaba G WaycottGermanyAmy Elsner UNQUALIFIED
Jeanfrancois E PoquetteGermanyAmy Elsner NEW
Isabel V RutaArgentinaAmy Elsner QUALIFIED
Kaitlin Y ChuiIndiaAmy Elsner UNQUALIFIED
Morrow P SaylorsArgentinaBernardo Dominic NEGOTIATION
Darci B SergiBrazilAsiya Javayant QUALIFIED
Emily F RimGermanyIoni Bowcher RENEWAL
Greenwood F SlusarskiJapanAmy Elsner RENEWAL
Arvin L StockhamSpainBernardo Dominic QUALIFIED
Johnson S VenereRussiaIvan Magalhaes QUALIFIED
Claire A MaletIndiaAsiya Javayant RENEWAL
Ricardo M MarrierCanadaElwin Sharvill RENEWAL
Mayumi R AlbaresBrazilAnna Fali RENEWAL
Rodrigues A VenereCanadaStephen Shaw QUALIFIED
Smith M RimRussiaStephen Shaw QUALIFIED
David U SaylorsItalyOnyama Limba UNQUALIFIED
Arvin R WaycottRussiaAmy Elsner NEW
Alejandro A RoysterRussiaStephen Shaw NEGOTIATION
Rodrigues H GarufiAustraliaAmy Elsner PROPOSAL
Wickens U DarakjyFranceStephen Shaw UNQUALIFIED
Deepesh L GlickAustraliaOnyama Limba NEW
Ashley U SchemmerGermanyXuxue Feng QUALIFIED
Kadeem O InouyeUnited KingdomXuxue Feng RENEWAL
Kaitlin G NickaJapanIoni Bowcher 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>