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
Nicolas U ShinkoAustraliaStephen Shaw QUALIFIED
Jefferson D RoysterFranceAmy Elsner RENEWAL
Morrow D ChuiCanadaXuxue Feng NEW
Aika A FerenczFranceAsiya Javayant NEGOTIATION
Stacey O DarakjyJapanStephen Shaw UNQUALIFIED
Murillo A GillianUnited KingdomXuxue Feng PROPOSAL
Ricardo B GarufiCanadaStephen Shaw UNQUALIFIED
Clifford C StockhamAustraliaBernardo Dominic NEGOTIATION
Smith J DarakjyUnited KingdomAmy Elsner QUALIFIED
Isabel Y RoysterRussiaXuxue Feng QUALIFIED
Isabel X MarrierUnited KingdomElwin Sharvill UNQUALIFIED
Claire M NickaIndiaXuxue Feng RENEWAL
Aruna C RimIndiaAsiya Javayant UNQUALIFIED
Jennifer C NickaArgentinaBernardo Dominic RENEWAL
Leon Q KuskoUnited KingdomXuxue Feng PROPOSAL
Nicolas C DoeBrazilOnyama Limba UNQUALIFIED
Salvatore B PerinFranceAmy Elsner QUALIFIED
Claire W PoquetteGermanyIoni Bowcher UNQUALIFIED
Deepesh N FigeroaGermanyXuxue Feng NEGOTIATION
Alejandro E GauchoArgentinaBernardo Dominic NEW
Smith K CaldareraAustraliaOnyama Limba NEGOTIATION
Juan N IturbideRussiaAmy Elsner PROPOSAL
Alejandro T FerenczAustraliaAmy Elsner QUALIFIED
Darci S RoysterUnited KingdomIoni Bowcher UNQUALIFIED
Adams C PoquetteRussiaAsiya Javayant RENEWAL
Chavez L MaletBrazilStephen Shaw PROPOSAL
Rodrigues K WieserJapanBernardo Dominic NEW
Kaitlin U ShinkoSpainBernardo Dominic QUALIFIED
Isabel Y BowleyRussiaXuxue Feng RENEWAL
Leja W CampainAustraliaAmy Elsner UNQUALIFIED
Clifford V MaletArgentinaStephen Shaw NEW
Aika I TollnerCanadaAmy Elsner UNQUALIFIED
Stacey W DarakjyRussiaElwin Sharvill NEGOTIATION
Jennifer E SlusarskiGermanyStephen Shaw RENEWAL
Johnson Z CampainArgentinaIoni Bowcher PROPOSAL
Adams H MaletIndiaBernardo Dominic UNQUALIFIED
Antonio K FigeroaSpainXuxue Feng NEW
Murillo X CampainGermanyOnyama Limba RENEWAL
Kadeem O ChuiUnited KingdomAnna Fali QUALIFIED
David S KuskoAustraliaIvan Magalhaes QUALIFIED
Maisha X BriddickUnited KingdomAnna Fali UNQUALIFIED
Leon E FerenczFranceIoni Bowcher QUALIFIED
Octavia H MarrierIndiaStephen Shaw NEGOTIATION
Aika R CampainRussiaBernardo Dominic NEGOTIATION
Mujtaba Z DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Aika A OstroskyAustraliaXuxue Feng NEW
Jeanfrancois F StensethIndiaOnyama Limba NEW
Smith N AmigonItalyBernardo Dominic RENEWAL
Clifford Y InouyeSpainIoni Bowcher QUALIFIED
Ricardo M GauchoSpainAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja N GauchoCanadaIvan Magalhaes NEW
Kaitlin X WhobreyAustraliaOnyama Limba NEGOTIATION
Nicolas O BologniaRussiaAmy Elsner PROPOSAL
Mujtaba B GillianCanadaBernardo Dominic NEGOTIATION
Isabel J ChuiGermanyXuxue Feng QUALIFIED
Clifford G OldroydAustraliaAnna Fali NEW
Stacey F StockhamUnited KingdomAnna Fali NEGOTIATION
Antonio Z MaletArgentinaIvan Magalhaes UNQUALIFIED
Julie S DoeFranceAsiya Javayant QUALIFIED
Mujtaba R RutaArgentinaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David R BowleyCanada2024-05-04Buckley Miller Wright RENEWAL26Onyama Limba
1001Mujtaba P SergiUnited Kingdom2024-04-30Rousseaux, Michael Esq UNQUALIFIED18Asiya Javayant
1002Tony D WhobreyCanada2024-05-16Buckley Miller Wright RENEWAL0Xuxue Feng
1003Nicolas T SaylorsCanada2024-05-05Rangoni Of Florence QUALIFIED31Ivan Magalhaes
1004Kadeem S GillianIndia2024-05-08Rangoni Of Florence PROPOSAL77Stephen Shaw
1005David V VocelkaIndia2024-05-23Truhlar And Truhlar Attys RENEWAL7Stephen Shaw
1006Johnson H OldroydSpain2024-04-29Feiner Bros NEGOTIATION46Ivan Magalhaes
1007David V NickaIndia2024-05-24Buckley Miller Wright PROPOSAL26Stephen Shaw
1008Alejandro L FlosiUnited Kingdom2024-05-16Benton, John B Jr RENEWAL85Anna Fali
1009Jennifer S SlusarskiUnited Kingdom2024-05-28Printing Dimensions PROPOSAL59Onyama Limba
1010Rodrigues L NickaItaly2024-05-06Printing Dimensions RENEWAL61Elwin Sharvill
1011Jefferson M GlickIndia2024-04-30Feiner Bros RENEWAL67Ioni Bowcher
1012Darci F PoquetteItaly2024-04-30Benton, John B Jr RENEWAL30Onyama Limba
1013Chavez N ChuiBrazil2024-05-03Printing Dimensions NEGOTIATION44Ioni Bowcher
1014Cody N RimItaly2024-05-25Morlong Associates NEW65Stephen Shaw
1015Rodrigues Y GlickGermany2024-05-28Chapman, Ross E Esq NEW15Elwin Sharvill
1016Jeanfrancois L StockhamItaly2024-04-29Morlong Associates PROPOSAL22Amy Elsner
1017Arvin M PerinIndia2024-05-03Rousseaux, Michael Esq PROPOSAL29Amy Elsner
1018Ivar R AlbaresArgentina2024-05-03Morlong Associates NEGOTIATION1Ivan Magalhaes
1019Maria N StockhamRussia2024-05-04Rousseaux, Michael Esq UNQUALIFIED86Xuxue Feng
1020Leja K GlickArgentina2024-05-08King, Christopher A Esq RENEWAL81Ivan Magalhaes
1021Francesco R BriddickRussia2024-05-20Printing Dimensions NEW7Anna Fali
1022Alejandro R DoeCanada2024-05-15Commercial Press UNQUALIFIED6Bernardo Dominic
1023Silvio L StockhamUnited Kingdom2024-05-23Truhlar And Truhlar Attys NEW2Ioni Bowcher
1024Stacey T RulapaughIndia2024-05-17Rousseaux, Michael Esq NEGOTIATION59Stephen Shaw
1025Maisha U RimArgentina2024-05-24Rangoni Of Florence QUALIFIED24Xuxue Feng
1026Leja F ShinkoAustralia2024-05-21Chapman, Ross E Esq PROPOSAL56Ioni Bowcher
1027Francesco W WaycottJapan2024-05-05Printing Dimensions NEGOTIATION67Elwin Sharvill
1028Leja N WieserUnited Kingdom2024-05-27Commercial Press UNQUALIFIED90Amy Elsner
1029Maisha I DilliardItaly2024-05-14Chapman, Ross E Esq NEW42Stephen Shaw
1030Costa C SaylorsFrance2024-05-08Dorl, James J Esq UNQUALIFIED31Asiya Javayant
1031Adams M WhobreyBrazil2024-05-26Benton, John B Jr NEGOTIATION31Ivan Magalhaes
1032Darci Q FerenczRussia2024-05-19Chapman, Ross E Esq NEW43Asiya Javayant
1033Wickens N BologniaSpain2024-05-09Commercial Press NEW70Onyama Limba
1034Adams O AmigonItaly2024-05-18Feiner Bros NEGOTIATION71Xuxue Feng
1035Maria Z IturbideItaly2024-05-13Morlong Associates UNQUALIFIED86Xuxue Feng
1036Stacey G RoysterUnited Kingdom2024-05-17King, Christopher A Esq UNQUALIFIED30Elwin Sharvill
1037Costa O KuskoFrance2024-05-21Morlong Associates NEW89Elwin Sharvill
1038Costa E PaprockiBrazil2024-05-24Rangoni Of Florence QUALIFIED76Asiya Javayant
1039Morrow F PerinJapan2024-05-09Rangoni Of Florence RENEWAL96Amy Elsner
1040Francesco H PerinUnited Kingdom2024-05-23Chemel, James L Cpa RENEWAL44Ioni Bowcher
1041Costa C RoysterSpain2024-05-19Benton, John B Jr PROPOSAL0Stephen Shaw
1042Stacey F AlbaresArgentina2024-05-16Truhlar And Truhlar Attys NEGOTIATION46Bernardo Dominic
1043James N NestleRussia2024-05-01Benton, John B Jr UNQUALIFIED24Amy Elsner
1044Claire D PoquetteArgentina2024-05-22Dorl, James J Esq RENEWAL84Amy Elsner
1045Juan Q RoysterRussia2024-05-23Morlong Associates RENEWAL74Ioni Bowcher
1046Adams K MaletIndia2024-05-21Feltz Printing Service QUALIFIED75Ivan Magalhaes
1047Leja D BowleyArgentina2024-04-30Rangoni Of Florence QUALIFIED55Ioni Bowcher
1048Juan W GauchoGermany2024-05-14Rangoni Of Florence QUALIFIED77Amy Elsner
1049Alejandro E SaylorsBrazil2024-05-19Feiner Bros QUALIFIED94Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
James S DarakjyRussiaBernardo Dominic UNQUALIFIED
Cody S PerinSpainAsiya Javayant RENEWAL
Adams Y GillianFranceOnyama Limba UNQUALIFIED
Salvatore M WhobreyBrazilAmy Elsner NEGOTIATION
Darci T OstroskySpainIoni Bowcher NEW
Claire U MacleadFranceOnyama Limba NEGOTIATION
Costa C KolmetzRussiaElwin Sharvill NEGOTIATION
Ricardo W StensethIndiaAsiya Javayant QUALIFIED
Cody G GlickUnited KingdomIoni Bowcher NEGOTIATION
Sinclair H StockhamAustraliaStephen Shaw PROPOSAL
Leon B MacleadGermanyXuxue Feng NEGOTIATION
Maisha Z StockhamCanadaIvan Magalhaes PROPOSAL
Clifford Z BowleyBrazilIoni Bowcher QUALIFIED
Misaki L StensethItalyOnyama Limba UNQUALIFIED
Julie W MacleadGermanyIoni Bowcher PROPOSAL
Leon F RoysterUnited KingdomOnyama Limba NEGOTIATION
Maria P PoquetteSpainAnna Fali UNQUALIFIED
Jeanfrancois I SergiItalyBernardo Dominic RENEWAL
Octavia T KolmetzFranceElwin Sharvill RENEWAL
Rodrigues G CaudyIndiaStephen Shaw RENEWAL
Arvin A RimIndiaIvan Magalhaes NEGOTIATION
Nicolas N GarufiAustraliaIvan Magalhaes PROPOSAL
Leja Q DoeArgentinaOnyama Limba NEW
Munro H CampainBrazilOnyama Limba QUALIFIED
Munro F CaldareraArgentinaIoni Bowcher RENEWAL
Silvio R GlickGermanyElwin Sharvill PROPOSAL
Munro T ChuiAustraliaBernardo Dominic UNQUALIFIED
Ricardo Z MorascaUnited KingdomIoni Bowcher NEGOTIATION
Deepesh R MarrierGermanyXuxue Feng NEW
Salvatore W GlickJapanAsiya Javayant PROPOSAL
Francesco W PaprockiRussiaAmy Elsner QUALIFIED
Smith R GlickItalyIvan Magalhaes NEGOTIATION
Claire R OstroskyGermanyAmy Elsner QUALIFIED
Isabel Q FollerFranceOnyama Limba RENEWAL
Jones Z SlusarskiIndiaAsiya Javayant NEW
Kadeem M VenereSpainOnyama Limba NEW
Munro P KolmetzJapanIvan Magalhaes NEW
Jefferson N SchemmerSpainAnna Fali PROPOSAL
Cody E SlusarskiAustraliaAmy Elsner UNQUALIFIED
Costa G PaprockiJapanBernardo Dominic NEGOTIATION
Cody K DoeCanadaAnna Fali NEGOTIATION
Nicolas V PoquetteIndiaStephen Shaw RENEWAL
Izzy Q WhobreyIndiaAsiya Javayant UNQUALIFIED
Jeanfrancois A PerinRussiaBernardo Dominic QUALIFIED
Tony J MacleadIndiaStephen Shaw QUALIFIED
Francesco J IturbideFranceStephen Shaw QUALIFIED
Julie W ButtIndiaBernardo Dominic QUALIFIED
Salvatore F OldroydFranceAnna Fali PROPOSAL
Misaki A AlbaresBrazilElwin Sharvill PROPOSAL
Deepesh X GlickJapanStephen Shaw QUALIFIED
Frozen Columns
Name
Faith D Inouye
Sinclair R Foller
Alejandro F Royster
Ashley D Whobrey
Jennifer Z Kusko
Smith T Butt
Silvio Y Flosi
Nicolas Y Ostrosky
Stacey D Bowley
James S Foller
Mujtaba V Chui
Kadeem Q Ruta
Silvio D Caldarera
Jefferson E Campain
Ashley U Malet
Cody V Slusarski
Claire V Kolmetz
Maisha E Stockham
Juan U Royster
Tony D Gillian
Ashley C Briddick
Aruna L Vocelka
Maria S Schemmer
Ricardo C Morasca
Aditya Q Inouye
Greenwood S Bowley
Antonio V Morasca
Salvatore T Malet
Julie W Ruta
Kaitlin T Amigon
Darci V Nicka
Stacey H Caudy
Cody U Briddick
Leja R Amigon
Murillo Q Darakjy
Claire J Morasca
Costa E Gaucho
Morrow R Tollner
Ashley Z Tollner
Wickens O Vocelka
James M Caudy
James Y Tollner
Costa M Caldarera
Costa Z Sergi
Costa O Royster
Salvatore M Ostrosky
Maisha M Oldroyd
Adams J Ruta
Aika Y Wieser
Aditya O Figeroa
IdCountryDate
1000India2024-05-20
1001Brazil2024-05-27
1002Italy2024-05-27
1003Spain2024-05-27
1004United Kingdom2024-04-29
1005United Kingdom2024-05-21
1006United Kingdom2024-05-21
1007Brazil2024-04-30
1008United Kingdom2024-05-02
1009Italy2024-05-15
1010Russia2024-05-04
1011Spain2024-05-04
1012Germany2024-05-15
1013Russia2024-05-17
1014Spain2024-05-21
1015Italy2024-05-06
1016Australia2024-05-20
1017Japan2024-05-11
1018Canada2024-05-10
1019Australia2024-05-18
1020Australia2024-05-14
1021Russia2024-04-29
1022Russia2024-05-03
1023Argentina2024-05-23
1024Japan2024-05-04
1025Brazil2024-05-28
1026Spain2024-05-13
1027Japan2024-05-01
1028India2024-05-16
1029Germany2024-05-26
1030Italy2024-05-20
1031Japan2024-05-23
1032Spain2024-05-21
1033Spain2024-04-30
1034Spain2024-05-21
1035Canada2024-05-05
1036Australia2024-04-29
1037Italy2024-05-17
1038Italy2024-05-25
1039Germany2024-05-05
1040Spain2024-05-10
1041United Kingdom2024-05-10
1042Italy2024-05-03
1043Argentina2024-05-10
1044Brazil2024-05-03
1045Italy2024-05-22
1046Spain2024-05-23
1047Canada2024-05-22
1048Argentina2024-05-04
1049Italy2024-05-06

On-Demand Data

NameIdCountryDate
Wickens I Wieser1000Germany2024-05-26
Misaki L Butt1001Australia2024-05-05
Maria F Glick1002Argentina2024-05-02
Cody T Kolmetz1003Spain2024-04-30
Smith H Maclead1004Russia2024-05-18
Jones H Wieser1005India2024-05-08
Aditya Q Albares1006France2024-05-20
Aika A Nicka1007Russia2024-05-25
Aruna V Perin1008France2024-05-28
Maria A Albares1009Brazil2024-05-16
Emily O Dilliard1010India2024-05-23
Leon R Paprocki1011Japan2024-05-18
Antonio Q Caldarera1012Japan2024-05-13
Antonio Q Ferencz1013Argentina2024-05-06
Francesco J Foller1014Spain2024-05-10
Misaki G Figeroa1015Russia2024-05-15
Darci J Kolmetz1016Germany2024-05-27
Isabel Q Malet1017Italy2024-05-03
Francesco Q Sergi1018Spain2024-05-15
Mayumi Q Tollner1019Russia2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson H WhobreyUnited KingdomAmy Elsner NEW
Ashley I BologniaUnited KingdomAsiya Javayant QUALIFIED
Emily X RoysterJapanIvan Magalhaes NEGOTIATION
Clifford X BriddickIndiaBernardo Dominic QUALIFIED
Aditya L KuskoUnited KingdomIoni Bowcher NEW
Mujtaba N KolmetzJapanAsiya Javayant UNQUALIFIED
Munro Q NickaCanadaOnyama Limba QUALIFIED
Misaki P SaylorsUnited KingdomIoni Bowcher PROPOSAL
Mujtaba C NickaGermanyAnna Fali NEGOTIATION
Murillo P OstroskyBrazilStephen Shaw UNQUALIFIED
Rodrigues J GillianIndiaAsiya Javayant PROPOSAL
Sinclair R TollnerArgentinaIvan Magalhaes RENEWAL
Leja N BowleyUnited KingdomIoni Bowcher QUALIFIED
Stacey Z CaldareraBrazilBernardo Dominic PROPOSAL
Cody L PoquetteFranceBernardo Dominic RENEWAL
Maria L StockhamBrazilElwin Sharvill QUALIFIED
Jeanfrancois X DarakjyJapanElwin Sharvill UNQUALIFIED
Claire Y ShinkoSpainStephen Shaw RENEWAL
Nicolas P FigeroaCanadaAsiya Javayant RENEWAL
Jeanfrancois D ButtAustraliaAnna Fali NEGOTIATION
Cody R SchemmerGermanyIvan Magalhaes NEGOTIATION
Maria L CampainGermanyIvan Magalhaes RENEWAL
Alejandro V CaudyRussiaOnyama Limba PROPOSAL
Clifford O GlickSpainStephen Shaw NEGOTIATION
Aruna N KolmetzRussiaAnna Fali QUALIFIED
Murillo J SlusarskiAustraliaStephen Shaw PROPOSAL
Costa Q StockhamFranceIvan Magalhaes UNQUALIFIED
Jones X BologniaSpainBernardo Dominic QUALIFIED
Octavia P WieserRussiaBernardo Dominic PROPOSAL
Johnson N RimArgentinaStephen Shaw UNQUALIFIED
Smith D ChuiItalyXuxue Feng NEW
Silvio O DilliardRussiaElwin Sharvill UNQUALIFIED
Munro D PoquetteRussiaIoni Bowcher RENEWAL
Sinclair C CampainUnited KingdomElwin Sharvill PROPOSAL
Antonio V ShinkoAustraliaStephen Shaw NEW
Misaki J AlbaresIndiaOnyama Limba QUALIFIED
Morrow C KuskoRussiaAmy Elsner NEW
Leon J BowleyBrazilXuxue Feng UNQUALIFIED
Julie X FollerSpainAnna Fali PROPOSAL
Kaitlin B FlosiUnited KingdomElwin Sharvill 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>