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
Ivar Q StensethRussiaIvan Magalhaes UNQUALIFIED
Tony D PoquetteUnited KingdomIoni Bowcher UNQUALIFIED
Smith Q GillianItalyIoni Bowcher UNQUALIFIED
Mujtaba U CampainBrazilElwin Sharvill UNQUALIFIED
Antonio J CampainSpainStephen Shaw RENEWAL
Aruna V FerenczRussiaOnyama Limba UNQUALIFIED
Stacey P GarufiIndiaBernardo Dominic NEGOTIATION
Silvio O BriddickIndiaStephen Shaw PROPOSAL
Rodrigues E GarufiBrazilOnyama Limba NEW
Izzy Q DoeGermanyIoni Bowcher NEW
Greenwood H InouyeItalyAsiya Javayant QUALIFIED
Ashley O CaudyRussiaStephen Shaw PROPOSAL
Juan W MaletUnited KingdomXuxue Feng QUALIFIED
David U GauchoFranceIoni Bowcher NEW
Wickens H StockhamArgentinaOnyama Limba NEW
Rodrigues A PaprockiUnited KingdomAmy Elsner PROPOSAL
Stacey U MaletRussiaAnna Fali RENEWAL
Misaki V WieserJapanIvan Magalhaes UNQUALIFIED
Kaitlin Q InouyeFranceAnna Fali UNQUALIFIED
Rodrigues J MacleadRussiaAmy Elsner NEGOTIATION
Ivar O WaycottBrazilIvan Magalhaes RENEWAL
Juan I BowleyArgentinaElwin Sharvill QUALIFIED
Aditya X MaletArgentinaAsiya Javayant UNQUALIFIED
Ashley T WieserArgentinaAmy Elsner QUALIFIED
Kaitlin S MacleadRussiaStephen Shaw PROPOSAL
Sinclair P MarrierItalyXuxue Feng UNQUALIFIED
Tony K KolmetzIndiaXuxue Feng UNQUALIFIED
Darci M RoysterRussiaIvan Magalhaes RENEWAL
Chavez X FlosiSpainAmy Elsner QUALIFIED
Silvio M WhobreyUnited KingdomIoni Bowcher NEW
James P CaudyBrazilAnna Fali PROPOSAL
Tony P FerenczIndiaStephen Shaw QUALIFIED
Tony D RoysterIndiaAmy Elsner QUALIFIED
Rodrigues P BriddickJapanOnyama Limba RENEWAL
Ashley N SaylorsJapanStephen Shaw QUALIFIED
Misaki D BriddickArgentinaElwin Sharvill NEW
Clifford B CampainSpainStephen Shaw UNQUALIFIED
Aruna P DoeAustraliaOnyama Limba UNQUALIFIED
Jefferson F PerinItalyAmy Elsner UNQUALIFIED
Kaitlin X GillianArgentinaOnyama Limba QUALIFIED
Morrow D FigeroaArgentinaIoni Bowcher NEGOTIATION
Emily B WaycottRussiaAmy Elsner PROPOSAL
Antonio F ButtArgentinaAsiya Javayant RENEWAL
Murillo U ShinkoFranceXuxue Feng RENEWAL
Claire R AlbaresSpainStephen Shaw RENEWAL
Mujtaba Q GauchoBrazilAsiya Javayant QUALIFIED
Cody M WaycottCanadaIoni Bowcher QUALIFIED
Smith R SlusarskiArgentinaOnyama Limba NEW
Aditya B OstroskyUnited KingdomAmy Elsner PROPOSAL
Aruna M PoquetteFranceOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas N MacleadBrazilBernardo Dominic PROPOSAL
Cody L FerenczBrazilBernardo Dominic NEW
Deepesh A MaletAustraliaAmy Elsner UNQUALIFIED
Wickens N NickaCanadaAmy Elsner NEGOTIATION
Leon S MaletJapanIvan Magalhaes RENEWAL
Arvin G OstroskyAustraliaStephen Shaw NEGOTIATION
Kaitlin P CampainBrazilBernardo Dominic NEW
Octavia E KuskoItalyAnna Fali UNQUALIFIED
Leja N KuskoBrazilIoni Bowcher RENEWAL
Chavez S FigeroaIndiaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro Q ShinkoBrazil2024-06-11Benton, John B Jr UNQUALIFIED39Xuxue Feng
1001Johnson K SchemmerRussia2024-06-13Printing Dimensions QUALIFIED75Anna Fali
1002Ricardo J RimFrance2024-06-03Dorl, James J Esq QUALIFIED97Amy Elsner
1003Sinclair V GauchoItaly2024-05-29Truhlar And Truhlar Attys NEW98Stephen Shaw
1004Ivar N WhobreyFrance2024-05-26Rousseaux, Michael Esq NEGOTIATION19Ioni Bowcher
1005Claire A InouyeSpain2024-06-09Feltz Printing Service QUALIFIED67Asiya Javayant
1006Alejandro R StensethUnited Kingdom2024-05-30Printing Dimensions RENEWAL28Amy Elsner
1007Octavia P BologniaIndia2024-05-30Printing Dimensions NEGOTIATION15Ioni Bowcher
1008James P ButtJapan2024-06-07Buckley Miller Wright UNQUALIFIED27Anna Fali
1009Adams B NickaItaly2024-06-17Buckley Miller Wright QUALIFIED8Elwin Sharvill
1010Kaitlin S VocelkaAustralia2024-06-22Rangoni Of Florence UNQUALIFIED68Xuxue Feng
1011Mayumi B KolmetzJapan2024-06-03Commercial Press RENEWAL25Bernardo Dominic
1012Aika W GarufiCanada2024-06-15Chanay, Jeffrey A Esq NEW46Xuxue Feng
1013Claire B MaletCanada2024-06-09Morlong Associates UNQUALIFIED18Ioni Bowcher
1014Izzy P InouyeIndia2024-05-26Morlong Associates NEGOTIATION34Amy Elsner
1015Chavez O RoysterSpain2024-05-29Chemel, James L Cpa RENEWAL9Bernardo Dominic
1016Izzy H AlbaresFrance2024-05-27Commercial Press NEGOTIATION36Ioni Bowcher
1017Aika B FollerFrance2024-06-19Feiner Bros RENEWAL6Amy Elsner
1018Jefferson G CaldareraFrance2024-06-04Rangoni Of Florence NEW74Stephen Shaw
1019Maisha I SaylorsRussia2024-05-27Benton, John B Jr NEW45Elwin Sharvill
1020Alejandro T VenereItaly2024-06-07Feiner Bros UNQUALIFIED64Xuxue Feng
1021Salvatore S MaletUnited Kingdom2024-06-18Benton, John B Jr PROPOSAL98Ivan Magalhaes
1022Alejandro Q WaycottFrance2024-06-05Dorl, James J Esq NEGOTIATION26Onyama Limba
1023Darci C GauchoUnited Kingdom2024-06-22Rangoni Of Florence NEGOTIATION86Ioni Bowcher
1024Tony Z SlusarskiFrance2024-06-01Rousseaux, Michael Esq PROPOSAL72Amy Elsner
1025Mujtaba M MorascaIndia2024-06-08Printing Dimensions UNQUALIFIED13Ioni Bowcher
1026Maisha P GillianJapan2024-06-05Truhlar And Truhlar Attys QUALIFIED60Onyama Limba
1027Maria U SchemmerCanada2024-06-11Chanay, Jeffrey A Esq NEW68Elwin Sharvill
1028Faith K SlusarskiArgentina2024-06-21Truhlar And Truhlar Attys NEGOTIATION99Anna Fali
1029Darci H AlbaresUnited Kingdom2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED58Amy Elsner
1030Claire Q PerinUnited Kingdom2024-06-19Buckley Miller Wright RENEWAL54Stephen Shaw
1031Octavia O MaletIndia2024-06-14Commercial Press QUALIFIED25Xuxue Feng
1032Francesco C PoquetteArgentina2024-06-08Chanay, Jeffrey A Esq NEGOTIATION91Asiya Javayant
1033Mayumi B GauchoGermany2024-06-07Chemel, James L Cpa NEGOTIATION75Ioni Bowcher
1034Cody N CaudyFrance2024-05-29Feltz Printing Service QUALIFIED61Elwin Sharvill
1035Silvio D RutaGermany2024-05-28Rousseaux, Michael Esq NEGOTIATION79Amy Elsner
1036Chavez R GlickSpain2024-06-04Benton, John B Jr NEW91Amy Elsner
1037Aika L OldroydSpain2024-06-20Printing Dimensions NEGOTIATION42Amy Elsner
1038Ricardo T PaprockiGermany2024-06-17Chemel, James L Cpa RENEWAL24Xuxue Feng
1039David I FigeroaIndia2024-06-05Printing Dimensions QUALIFIED77Anna Fali
1040Juan J ChuiItaly2024-06-13Chapman, Ross E Esq UNQUALIFIED93Amy Elsner
1041Salvatore C KuskoJapan2024-06-09Buckley Miller Wright RENEWAL79Anna Fali
1042Tony L FlosiArgentina2024-06-20Buckley Miller Wright RENEWAL72Onyama Limba
1043Darci N MaletItaly2024-06-07King, Christopher A Esq NEGOTIATION94Xuxue Feng
1044Costa P KuskoIndia2024-06-05Buckley Miller Wright PROPOSAL59Ioni Bowcher
1045Emily P BowleyJapan2024-06-12Benton, John B Jr NEGOTIATION17Anna Fali
1046Stacey M CaldareraIndia2024-06-19Morlong Associates NEGOTIATION27Ioni Bowcher
1047Jefferson C SergiGermany2024-06-16Printing Dimensions NEGOTIATION16Stephen Shaw
1048Darci N SergiCanada2024-06-21Chemel, James L Cpa NEGOTIATION42Stephen Shaw
1049Nicolas B CaudyIndia2024-06-07King, Christopher A Esq NEW27Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jefferson V DilliardItalyAmy Elsner RENEWAL
Cody P CaudyBrazilElwin Sharvill PROPOSAL
Morrow L ChuiIndiaOnyama Limba QUALIFIED
Aditya V RutaSpainElwin Sharvill NEGOTIATION
Emily F IturbideItalyBernardo Dominic QUALIFIED
Ricardo K DilliardUnited KingdomOnyama Limba PROPOSAL
Ricardo D ShinkoGermanyAnna Fali RENEWAL
Aika V IturbideRussiaIoni Bowcher NEW
Leon X InouyeUnited KingdomIvan Magalhaes NEW
David R FigeroaArgentinaStephen Shaw NEGOTIATION
Johnson V WaycottUnited KingdomAnna Fali NEGOTIATION
Juan O ChuiFranceAnna Fali RENEWAL
Antonio B SchemmerUnited KingdomBernardo Dominic QUALIFIED
Adams V GauchoRussiaStephen Shaw NEGOTIATION
Murillo N SchemmerJapanBernardo Dominic NEGOTIATION
Ricardo T RutaAustraliaBernardo Dominic NEW
David I IturbideBrazilOnyama Limba PROPOSAL
Rodrigues D PaprockiBrazilIoni Bowcher UNQUALIFIED
Aruna R PoquetteItalyXuxue Feng NEGOTIATION
Maria S FollerArgentinaIoni Bowcher NEGOTIATION
Leja V VenereRussiaAnna Fali UNQUALIFIED
Alejandro H FollerCanadaIvan Magalhaes NEGOTIATION
Isabel W RulapaughGermanyAsiya Javayant UNQUALIFIED
Kadeem A FigeroaBrazilAnna Fali NEGOTIATION
Ricardo T OldroydAustraliaAnna Fali QUALIFIED
Jeanfrancois F SaylorsFranceXuxue Feng NEGOTIATION
Morrow B PoquetteRussiaOnyama Limba UNQUALIFIED
Munro B SlusarskiJapanXuxue Feng NEGOTIATION
Chavez M RutaArgentinaXuxue Feng PROPOSAL
Chavez J OstroskyGermanyAnna Fali QUALIFIED
Julie O WieserAustraliaStephen Shaw QUALIFIED
Tony H TollnerArgentinaXuxue Feng RENEWAL
Chavez O DoeCanadaBernardo Dominic RENEWAL
Jennifer D PaprockiFranceXuxue Feng QUALIFIED
Jennifer W WhobreyIndiaStephen Shaw PROPOSAL
Leon I ChuiItalyXuxue Feng PROPOSAL
Costa X PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Ricardo A AlbaresAustraliaElwin Sharvill NEW
Salvatore Q NestleBrazilBernardo Dominic UNQUALIFIED
Ricardo G VenereCanadaXuxue Feng UNQUALIFIED
Wickens U TollnerUnited KingdomOnyama Limba PROPOSAL
Maisha G InouyeFranceElwin Sharvill UNQUALIFIED
Chavez U MacleadFranceBernardo Dominic RENEWAL
Izzy P PerinItalyIoni Bowcher UNQUALIFIED
David P ShinkoItalyAsiya Javayant RENEWAL
Costa A CaldareraFranceOnyama Limba RENEWAL
Misaki L GillianIndiaBernardo Dominic NEW
Ricardo L MacleadIndiaStephen Shaw NEW
Cody X GlickFranceAsiya Javayant RENEWAL
Ivar M FollerSpainStephen Shaw NEGOTIATION
Frozen Columns
Name
David E Shinko
Antonio Y Iturbide
Ricardo M Gaucho
Mujtaba Y Figeroa
Mayumi B Nestle
Kaitlin V Gaucho
Cody X Paprocki
Smith X Stockham
Alejandro S Waycott
Isabel M Butt
Chavez O Stockham
Mayumi O Maclead
Kadeem S Marrier
Leon E Chui
Sinclair H Morasca
Aika I Sergi
Arvin Y Stockham
Mayumi B Ruta
Mujtaba N Morasca
Kaitlin W Tollner
Antonio P Shinko
Juan F Flosi
Ricardo N Gillian
Kadeem W Vocelka
Costa U Bowley
Salvatore U Kusko
Isabel M Rulapaugh
Leon R Perin
Stacey V Gillian
Misaki C Glick
Smith N Nestle
Ashley T Dilliard
Izzy L Sergi
Stacey M Paprocki
Emily D Tollner
Aruna Q Slusarski
Antonio V Rim
Morrow Q Kolmetz
Costa H Venere
Mujtaba P Poquette
Johnson J Royster
Nicolas P Bowley
Jennifer W Oldroyd
Adams U Iturbide
Sinclair I Oldroyd
Nicolas P Foller
Costa R Iturbide
Kadeem A Stenseth
Deepesh R Oldroyd
Murillo Q Butt
IdCountryDate
1000India2024-06-16
1001India2024-06-13
1002Canada2024-06-02
1003Germany2024-06-16
1004Argentina2024-06-03
1005United Kingdom2024-06-09
1006Italy2024-06-01
1007Argentina2024-06-10
1008Italy2024-06-19
1009Brazil2024-06-10
1010Italy2024-06-01
1011Spain2024-05-27
1012United Kingdom2024-05-29
1013Australia2024-06-15
1014Australia2024-06-15
1015United Kingdom2024-06-16
1016Italy2024-06-16
1017Russia2024-06-16
1018United Kingdom2024-05-29
1019France2024-06-24
1020Canada2024-05-26
1021Italy2024-06-19
1022India2024-06-09
1023Italy2024-06-11
1024France2024-06-13
1025United Kingdom2024-06-03
1026Brazil2024-06-17
1027Brazil2024-05-28
1028Brazil2024-06-06
1029Japan2024-06-14
1030France2024-06-04
1031Brazil2024-06-06
1032Italy2024-06-08
1033Canada2024-06-02
1034Japan2024-06-22
1035Australia2024-06-10
1036Russia2024-06-20
1037Brazil2024-06-22
1038Japan2024-06-24
1039Spain2024-06-18
1040Spain2024-05-29
1041Argentina2024-05-29
1042France2024-06-11
1043Japan2024-06-23
1044United Kingdom2024-06-02
1045France2024-06-21
1046India2024-06-23
1047Japan2024-06-15
1048Germany2024-06-14
1049Spain2024-06-01

On-Demand Data

NameIdCountryDate
Adams N Ruta1000Brazil2024-06-04
Clifford U Slusarski1001Argentina2024-06-06
Ivar W Nicka1002France2024-06-09
Costa S Paprocki1003India2024-06-23
Kaitlin P Schemmer1004Argentina2024-06-16
Wickens G Ruta1005Germany2024-06-09
Isabel P Vocelka1006France2024-06-06
Jennifer A Waycott1007Canada2024-06-06
Ricardo K Doe1008India2024-06-10
Jefferson Z Foller1009Canada2024-06-13
Juan G Stockham1010Australia2024-06-11
Octavia W Whobrey1011Australia2024-06-13
Kadeem A Garufi1012Argentina2024-06-20
Antonio L Doe1013France2024-06-18
Isabel I Tollner1014India2024-06-20
Aika N Tollner1015Argentina2024-05-29
Adams M Inouye1016Australia2024-06-04
Adams S Morasca1017Australia2024-05-30
Juan C Kolmetz1018Argentina2024-06-11
Sinclair C Caldarera1019Russia2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois K FigeroaIndiaAmy Elsner QUALIFIED
Clifford A MaletGermanyAsiya Javayant QUALIFIED
Stacey T OldroydJapanElwin Sharvill RENEWAL
Ashley Y GlickBrazilOnyama Limba RENEWAL
Wickens Y ButtBrazilAsiya Javayant NEGOTIATION
Smith U TollnerIndiaElwin Sharvill PROPOSAL
Maisha F WieserItalyStephen Shaw NEW
Rodrigues G GlickUnited KingdomIvan Magalhaes RENEWAL
Wickens F InouyeFranceBernardo Dominic NEW
Silvio J CaldareraAustraliaOnyama Limba RENEWAL
Cody A ButtAustraliaAnna Fali RENEWAL
Murillo J WhobreyJapanElwin Sharvill QUALIFIED
Kaitlin Z VocelkaItalyOnyama Limba PROPOSAL
Salvatore J WaycottJapanStephen Shaw PROPOSAL
Clifford L VocelkaAustraliaElwin Sharvill QUALIFIED
Kaitlin S KolmetzArgentinaElwin Sharvill QUALIFIED
Ricardo X CampainSpainIvan Magalhaes RENEWAL
Clifford K IturbideArgentinaIvan Magalhaes UNQUALIFIED
Costa A RoysterCanadaOnyama Limba NEGOTIATION
Octavia B KolmetzJapanAmy Elsner NEW
Julie V GauchoGermanyXuxue Feng QUALIFIED
Deepesh K MaletArgentinaStephen Shaw QUALIFIED
Aruna B MacleadGermanyXuxue Feng RENEWAL
Costa P PaprockiRussiaIvan Magalhaes RENEWAL
Nicolas Z MaletArgentinaAsiya Javayant NEGOTIATION
Emily D GauchoGermanyIvan Magalhaes NEGOTIATION
Kadeem G CampainItalyElwin Sharvill NEGOTIATION
Wickens E RulapaughItalyElwin Sharvill RENEWAL
Costa A WhobreyItalyElwin Sharvill UNQUALIFIED
Stacey G MarrierGermanyElwin Sharvill QUALIFIED
Ricardo E SlusarskiIndiaAsiya Javayant RENEWAL
Darci X VocelkaIndiaIvan Magalhaes NEGOTIATION
Darci A BriddickFranceBernardo Dominic PROPOSAL
Jennifer D SaylorsUnited KingdomAmy Elsner NEGOTIATION
Nicolas U RutaFranceElwin Sharvill UNQUALIFIED
Johnson U PoquetteBrazilIoni Bowcher UNQUALIFIED
Murillo I IturbideFranceIoni Bowcher RENEWAL
Leja G GauchoBrazilIoni Bowcher UNQUALIFIED
Deepesh O GauchoFranceStephen Shaw PROPOSAL
Emily W DoeItalyIvan Magalhaes 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>