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
Julie G WaycottCanadaElwin Sharvill NEGOTIATION
Alejandro I GlickCanadaOnyama Limba PROPOSAL
Aditya P VocelkaBrazilAsiya Javayant QUALIFIED
Ricardo I StockhamArgentinaXuxue Feng RENEWAL
Munro S BriddickJapanXuxue Feng QUALIFIED
Claire O IturbideAustraliaIvan Magalhaes PROPOSAL
David S VenereAustraliaIoni Bowcher PROPOSAL
Misaki B PaprockiArgentinaAmy Elsner PROPOSAL
Deepesh T PoquetteSpainIoni Bowcher NEW
Octavia W PoquetteUnited KingdomBernardo Dominic QUALIFIED
Stacey Z BowleyJapanAsiya Javayant UNQUALIFIED
Julie B IturbideIndiaStephen Shaw NEGOTIATION
Faith V WaycottGermanyStephen Shaw NEGOTIATION
Aika P AmigonArgentinaOnyama Limba PROPOSAL
Tony G NestleGermanyAnna Fali UNQUALIFIED
Greenwood Y SergiFranceBernardo Dominic UNQUALIFIED
Chavez O CaudyGermanyIvan Magalhaes UNQUALIFIED
Salvatore Z DilliardUnited KingdomStephen Shaw QUALIFIED
Jeanfrancois O GlickIndiaStephen Shaw PROPOSAL
Tony V KuskoSpainIoni Bowcher NEGOTIATION
Misaki S DilliardJapanBernardo Dominic NEGOTIATION
Munro R GillianSpainIoni Bowcher NEGOTIATION
Claire I SergiIndiaBernardo Dominic NEW
Sinclair M AlbaresUnited KingdomAnna Fali NEGOTIATION
Munro U MaletCanadaElwin Sharvill NEGOTIATION
Adams M KolmetzFranceIoni Bowcher NEW
Maria N GauchoIndiaElwin Sharvill PROPOSAL
Stacey G WieserCanadaAmy Elsner UNQUALIFIED
Adams M SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Izzy Y MarrierAustraliaIoni Bowcher RENEWAL
Aika Q VocelkaArgentinaAsiya Javayant NEGOTIATION
Murillo O CaudyGermanyAnna Fali UNQUALIFIED
Clifford Z ButtGermanyAnna Fali QUALIFIED
Nicolas M DoeCanadaAmy Elsner RENEWAL
Julie S CampainArgentinaIvan Magalhaes UNQUALIFIED
Chavez D VocelkaUnited KingdomOnyama Limba QUALIFIED
Antonio Q ChuiAustraliaIvan Magalhaes NEGOTIATION
Aruna E SergiJapanOnyama Limba PROPOSAL
Deepesh E RutaFranceAsiya Javayant NEGOTIATION
Mayumi H MaletJapanAnna Fali NEW
Adams S RulapaughAustraliaAmy Elsner NEW
Kaitlin Y CampainArgentinaOnyama Limba QUALIFIED
Maisha P FerenczIndiaAmy Elsner NEGOTIATION
Tony F BologniaSpainElwin Sharvill QUALIFIED
Aika N SlusarskiItalyOnyama Limba PROPOSAL
Leja L FigeroaGermanyOnyama Limba PROPOSAL
Kadeem R FlosiArgentinaStephen Shaw RENEWAL
Juan T FlosiJapanAsiya Javayant UNQUALIFIED
Munro B CaldareraJapanIvan Magalhaes PROPOSAL
Johnson G SaylorsAustraliaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Octavia S BriddickAustraliaBernardo Dominic PROPOSAL
Salvatore M DilliardJapanOnyama Limba RENEWAL
David K TollnerAustraliaBernardo Dominic QUALIFIED
Jefferson M MarrierItalyAmy Elsner UNQUALIFIED
Costa I SlusarskiRussiaBernardo Dominic PROPOSAL
Clifford A RutaGermanyOnyama Limba RENEWAL
Julie W KuskoBrazilIoni Bowcher QUALIFIED
Jeanfrancois D AmigonItalyAsiya Javayant UNQUALIFIED
Mayumi X SchemmerGermanyOnyama Limba UNQUALIFIED
Octavia O RulapaughRussiaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco B RimUnited Kingdom2024-06-24Printing Dimensions PROPOSAL39Xuxue Feng
1001Octavia L AlbaresCanada2024-06-16Feltz Printing Service RENEWAL34Amy Elsner
1002Jefferson Y KolmetzRussia2024-06-07Chemel, James L Cpa NEGOTIATION30Amy Elsner
1003Nicolas V CaudyFrance2024-05-29Chanay, Jeffrey A Esq NEW27Amy Elsner
1004Johnson K AmigonUnited Kingdom2024-06-23Dorl, James J Esq QUALIFIED75Anna Fali
1005Emily T KuskoBrazil2024-06-16Morlong Associates PROPOSAL9Amy Elsner
1006Adams H MaletUnited Kingdom2024-06-14Feltz Printing Service QUALIFIED38Asiya Javayant
1007Johnson Z ButtJapan2024-05-27Dorl, James J Esq NEW62Elwin Sharvill
1008Jeanfrancois J WhobreyBrazil2024-06-03Printing Dimensions NEW68Xuxue Feng
1009Claire D WhobreyJapan2024-06-02Rousseaux, Michael Esq PROPOSAL87Asiya Javayant
1010Maisha B ChuiSpain2024-06-22Dorl, James J Esq RENEWAL17Asiya Javayant
1011Jennifer P GillianArgentina2024-06-02Chemel, James L Cpa UNQUALIFIED50Stephen Shaw
1012Maisha I SlusarskiRussia2024-06-01Feltz Printing Service QUALIFIED12Xuxue Feng
1013Rodrigues R PerinRussia2024-06-10Rangoni Of Florence RENEWAL36Stephen Shaw
1014Kadeem Q StensethSpain2024-06-13Benton, John B Jr UNQUALIFIED40Onyama Limba
1015Chavez O DilliardGermany2024-05-31Chemel, James L Cpa UNQUALIFIED89Xuxue Feng
1016Octavia E StensethIndia2024-06-01Buckley Miller Wright PROPOSAL75Anna Fali
1017Darci O DoeFrance2024-06-12King, Christopher A Esq PROPOSAL7Amy Elsner
1018Emily D KolmetzUnited Kingdom2024-06-19Morlong Associates RENEWAL29Asiya Javayant
1019Wickens U GarufiUnited Kingdom2024-06-17Chapman, Ross E Esq UNQUALIFIED16Anna Fali
1020Julie B RoysterFrance2024-06-13Feltz Printing Service NEW66Onyama Limba
1021Kaitlin Z RoysterUnited Kingdom2024-06-03Morlong Associates QUALIFIED8Ivan Magalhaes
1022Kadeem B PaprockiItaly2024-06-09Truhlar And Truhlar Attys NEGOTIATION84Elwin Sharvill
1023Maria B MaletBrazil2024-06-14Morlong Associates UNQUALIFIED25Elwin Sharvill
1024Smith S KolmetzBrazil2024-06-16Commercial Press PROPOSAL31Bernardo Dominic
1025Jones M RoysterCanada2024-06-18Rangoni Of Florence NEW84Ioni Bowcher
1026Kadeem G BriddickJapan2024-05-30Rousseaux, Michael Esq UNQUALIFIED16Anna Fali
1027Stacey X NickaSpain2024-06-19Rangoni Of Florence QUALIFIED21Amy Elsner
1028Mujtaba J FollerIndia2024-06-02Printing Dimensions QUALIFIED76Stephen Shaw
1029Silvio U SergiBrazil2024-06-02Commercial Press UNQUALIFIED68Anna Fali
1030Costa W GauchoGermany2024-06-20Chapman, Ross E Esq RENEWAL82Elwin Sharvill
1031Leon F SaylorsAustralia2024-06-20Rousseaux, Michael Esq RENEWAL32Ivan Magalhaes
1032Emily O FollerItaly2024-06-03Benton, John B Jr PROPOSAL86Asiya Javayant
1033Misaki V FigeroaArgentina2024-06-11Chemel, James L Cpa NEGOTIATION95Elwin Sharvill
1034Alejandro E StockhamSpain2024-06-20Feiner Bros NEW27Ioni Bowcher
1035Francesco Y MaletAustralia2024-06-21Chapman, Ross E Esq RENEWAL84Elwin Sharvill
1036Sinclair Y MorascaUnited Kingdom2024-06-23Benton, John B Jr RENEWAL95Ivan Magalhaes
1037Maria G ShinkoCanada2024-06-21King, Christopher A Esq RENEWAL91Bernardo Dominic
1038Leon X FlosiSpain2024-06-03Dorl, James J Esq QUALIFIED77Xuxue Feng
1039Juan R NickaFrance2024-06-20King, Christopher A Esq NEW54Xuxue Feng
1040Clifford R PaprockiRussia2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED80Onyama Limba
1041Maria F GarufiRussia2024-06-03Chapman, Ross E Esq RENEWAL97Onyama Limba
1042Cody X AmigonCanada2024-05-28Commercial Press RENEWAL89Xuxue Feng
1043Murillo G MaletArgentina2024-05-28Rangoni Of Florence RENEWAL22Onyama Limba
1044Morrow E PerinSpain2024-06-22Chapman, Ross E Esq PROPOSAL64Onyama Limba
1045Misaki O GlickUnited Kingdom2024-06-02Chapman, Ross E Esq UNQUALIFIED9Asiya Javayant
1046Murillo A TollnerUnited Kingdom2024-06-14Feltz Printing Service PROPOSAL43Asiya Javayant
1047James C FollerIndia2024-06-02Feiner Bros QUALIFIED40Ivan Magalhaes
1048Ivar T DarakjySpain2024-06-15King, Christopher A Esq NEW54Bernardo Dominic
1049Faith U RoysterRussia2024-06-13King, Christopher A Esq RENEWAL42Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Morrow E RutaItalyAsiya Javayant NEW
Izzy V PoquetteCanadaAsiya Javayant NEW
David W GillianIndiaXuxue Feng UNQUALIFIED
Kadeem V MaletUnited KingdomElwin Sharvill QUALIFIED
Aruna K BriddickCanadaAsiya Javayant NEW
Johnson U GauchoIndiaStephen Shaw PROPOSAL
Rodrigues S BologniaIndiaIoni Bowcher UNQUALIFIED
James T PaprockiUnited KingdomBernardo Dominic PROPOSAL
Greenwood D CampainSpainXuxue Feng QUALIFIED
Antonio D FerenczBrazilXuxue Feng NEGOTIATION
Izzy P InouyeFranceBernardo Dominic PROPOSAL
Izzy U StockhamArgentinaAnna Fali RENEWAL
Johnson W BologniaIndiaIoni Bowcher NEW
Aditya R IturbideFranceAsiya Javayant NEGOTIATION
Maria F BriddickCanadaXuxue Feng QUALIFIED
Mujtaba K TollnerGermanyElwin Sharvill NEGOTIATION
Kaitlin F KolmetzItalyIoni Bowcher UNQUALIFIED
Kadeem B WhobreyGermanyIoni Bowcher PROPOSAL
David A GauchoSpainAsiya Javayant RENEWAL
Julie W RimGermanyAsiya Javayant QUALIFIED
Aruna R FerenczAustraliaIoni Bowcher UNQUALIFIED
Salvatore V SaylorsAustraliaAmy Elsner QUALIFIED
Adams T MorascaUnited KingdomStephen Shaw QUALIFIED
Murillo P RoysterArgentinaOnyama Limba UNQUALIFIED
Cody B MorascaIndiaStephen Shaw UNQUALIFIED
Francesco D AlbaresUnited KingdomAsiya Javayant RENEWAL
Leja M RulapaughFranceIvan Magalhaes NEGOTIATION
Mujtaba L GlickIndiaElwin Sharvill UNQUALIFIED
Maisha W KolmetzRussiaStephen Shaw NEGOTIATION
Munro Y OldroydSpainAmy Elsner PROPOSAL
Izzy A ShinkoUnited KingdomStephen Shaw NEW
Aruna H CaudyItalyXuxue Feng PROPOSAL
Smith W FigeroaSpainXuxue Feng NEW
Francesco Q PerinGermanyAnna Fali QUALIFIED
Murillo N KuskoBrazilOnyama Limba QUALIFIED
Octavia L DilliardRussiaXuxue Feng NEW
Ricardo H FerenczGermanyXuxue Feng NEW
Isabel H PaprockiCanadaBernardo Dominic QUALIFIED
Isabel C DilliardGermanyAnna Fali NEGOTIATION
Jennifer Z MarrierFranceIoni Bowcher NEW
Darci U DilliardGermanyAmy Elsner UNQUALIFIED
Mayumi Z AlbaresUnited KingdomStephen Shaw QUALIFIED
Munro G SergiJapanIvan Magalhaes PROPOSAL
Mayumi T RimFranceBernardo Dominic PROPOSAL
Morrow F SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Isabel Q GarufiGermanyAmy Elsner UNQUALIFIED
Smith E BologniaFranceBernardo Dominic PROPOSAL
David Y SaylorsRussiaBernardo Dominic PROPOSAL
Ricardo X MarrierCanadaAnna Fali PROPOSAL
Emily R AmigonUnited KingdomIvan Magalhaes QUALIFIED
Frozen Columns
Name
Izzy T Dilliard
Deepesh G Shinko
Alejandro C Rim
Nicolas R Dilliard
Adams P Campain
Munro F Marrier
Tony Y Inouye
Izzy U Saylors
Kaitlin D Paprocki
Costa X Paprocki
Chavez A Venere
Aika Y Gillian
Leon Z Saylors
Jennifer S Iturbide
Jones V Flosi
Alejandro E Albares
Leja L Gillian
Wickens K Poquette
Jennifer I Perin
Silvio Q Gillian
Aika I Stenseth
Greenwood K Chui
Julie W Whobrey
Leon N Foller
David M Morasca
Murillo E Ferencz
Morrow N Gaucho
Octavia I Shinko
Costa I Malet
Darci M Bolognia
Maisha Z Briddick
Murillo E Garufi
Munro S Glick
Jeanfrancois U Inouye
Jeanfrancois S Kolmetz
Izzy Q Gaucho
Arvin E Paprocki
Costa C Saylors
Leja E Ruta
Antonio X Caudy
Wickens N Caldarera
Maisha E Iturbide
Clifford O Rulapaugh
Jones M Marrier
Kadeem B Briddick
Morrow Z Ostrosky
Antonio P Ferencz
Maisha U Sergi
Mujtaba G Malet
Mujtaba O Kolmetz
IdCountryDate
1000Brazil2024-06-11
1001Argentina2024-06-16
1002Italy2024-06-18
1003Italy2024-06-09
1004Spain2024-06-21
1005Australia2024-06-11
1006Italy2024-06-13
1007Australia2024-06-23
1008France2024-06-14
1009India2024-06-15
1010Germany2024-05-28
1011Spain2024-06-11
1012Argentina2024-05-31
1013Russia2024-06-14
1014India2024-05-30
1015India2024-06-09
1016Spain2024-06-24
1017Canada2024-06-21
1018Spain2024-06-24
1019Australia2024-06-11
1020Canada2024-06-12
1021Spain2024-05-27
1022Canada2024-06-07
1023Brazil2024-06-22
1024Brazil2024-06-05
1025Spain2024-06-05
1026Japan2024-06-17
1027Spain2024-06-01
1028India2024-06-15
1029Russia2024-06-08
1030Germany2024-06-05
1031Russia2024-05-26
1032Canada2024-06-18
1033Australia2024-06-05
1034Japan2024-05-27
1035Argentina2024-05-26
1036Russia2024-06-11
1037Germany2024-05-31
1038Italy2024-05-29
1039Brazil2024-06-17
1040India2024-06-24
1041Italy2024-06-03
1042Italy2024-05-31
1043Spain2024-06-13
1044Canada2024-06-24
1045Germany2024-06-19
1046Canada2024-05-31
1047Argentina2024-06-07
1048Japan2024-06-19
1049Russia2024-06-19

On-Demand Data

NameIdCountryDate
Maria N Figeroa1000Japan2024-06-15
Leon P Ruta1001United Kingdom2024-06-18
Silvio L Stockham1002France2024-06-07
Claire N Slusarski1003Germany2024-05-31
Jennifer D Saylors1004India2024-06-12
Clifford E Oldroyd1005Spain2024-05-30
James M Nicka1006Australia2024-06-17
Alejandro Z Bolognia1007France2024-06-07
Octavia T Wieser1008Italy2024-06-18
Clifford M Slusarski1009France2024-05-30
Leja K Rim1010Germany2024-06-17
Mayumi M Figeroa1011Canada2024-05-30
Julie F Darakjy1012Argentina2024-06-18
Munro B Nicka1013Spain2024-06-20
Adams Y Kolmetz1014Russia2024-06-19
Izzy J Amigon1015Germany2024-06-11
Munro R Schemmer1016Brazil2024-06-23
Mayumi D Stenseth1017Canada2024-06-13
Octavia D Shinko1018Japan2024-06-07
Jennifer W Wieser1019Italy2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez L GarufiJapanBernardo Dominic QUALIFIED
Cody P StockhamArgentinaIoni Bowcher NEW
Murillo X WieserFranceIvan Magalhaes RENEWAL
Antonio K MaletUnited KingdomAmy Elsner NEW
Salvatore R DilliardBrazilBernardo Dominic UNQUALIFIED
Leja L GauchoBrazilAsiya Javayant NEGOTIATION
Misaki R StensethGermanyOnyama Limba NEW
Izzy O KuskoJapanIoni Bowcher RENEWAL
Kaitlin X GauchoRussiaAmy Elsner UNQUALIFIED
Antonio X DilliardBrazilOnyama Limba RENEWAL
Misaki Z DarakjyUnited KingdomStephen Shaw NEGOTIATION
Munro W NickaCanadaAnna Fali RENEWAL
Claire Z StensethBrazilAsiya Javayant PROPOSAL
Jefferson P CaudyFranceIvan Magalhaes NEGOTIATION
Sinclair Y KolmetzCanadaIoni Bowcher NEGOTIATION
Nicolas D PerinJapanOnyama Limba PROPOSAL
Kaitlin D PaprockiAustraliaAsiya Javayant RENEWAL
Ricardo S MaletRussiaStephen Shaw QUALIFIED
Morrow F GillianAustraliaAmy Elsner NEW
Izzy M CaudyBrazilElwin Sharvill PROPOSAL
Aditya A CaldareraItalyAnna Fali QUALIFIED
Murillo Y FollerIndiaBernardo Dominic QUALIFIED
Tony G StockhamBrazilOnyama Limba UNQUALIFIED
Jeanfrancois C CaldareraJapanAnna Fali UNQUALIFIED
Claire K MarrierJapanIoni Bowcher UNQUALIFIED
Darci J AlbaresJapanXuxue Feng PROPOSAL
Arvin V OstroskyRussiaBernardo Dominic RENEWAL
Jennifer L CampainIndiaAsiya Javayant NEGOTIATION
Costa F AmigonUnited KingdomIoni Bowcher NEGOTIATION
Leja I FollerIndiaOnyama Limba NEW
Ashley Y InouyeArgentinaIoni Bowcher NEGOTIATION
David I GarufiIndiaElwin Sharvill PROPOSAL
Johnson X FlosiAustraliaIvan Magalhaes NEW
Salvatore G StockhamBrazilAnna Fali NEGOTIATION
Ashley O WaycottJapanOnyama Limba NEGOTIATION
Jeanfrancois O ShinkoCanadaXuxue Feng UNQUALIFIED
Alejandro G ShinkoFranceStephen Shaw UNQUALIFIED
Isabel X GarufiGermanyStephen Shaw PROPOSAL
Juan Q ShinkoRussiaBernardo Dominic NEW
Silvio W VocelkaBrazilOnyama Limba 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>