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
Maisha X GlickIndiaIoni Bowcher NEGOTIATION
Aruna B SlusarskiGermanyIvan Magalhaes UNQUALIFIED
Aika Z GarufiItalyElwin Sharvill UNQUALIFIED
Clifford A RoysterBrazilElwin Sharvill QUALIFIED
Chavez P GillianBrazilXuxue Feng NEW
Costa J AmigonRussiaXuxue Feng UNQUALIFIED
Leja J BologniaCanadaAsiya Javayant UNQUALIFIED
Cody M StockhamBrazilAsiya Javayant PROPOSAL
Aditya Q MaletRussiaXuxue Feng UNQUALIFIED
Jones V RutaAustraliaStephen Shaw NEW
Nicolas S CaldareraIndiaIoni Bowcher NEW
Francesco I KolmetzIndiaXuxue Feng NEW
Francesco F FerenczCanadaAmy Elsner PROPOSAL
Kaitlin R SlusarskiSpainAmy Elsner PROPOSAL
Juan O RoysterRussiaAnna Fali NEGOTIATION
Cody P DilliardFranceBernardo Dominic NEW
Arvin M StockhamArgentinaStephen Shaw NEGOTIATION
Munro L FlosiArgentinaIvan Magalhaes UNQUALIFIED
Maisha K GillianCanadaIoni Bowcher PROPOSAL
Octavia A DilliardGermanyElwin Sharvill NEGOTIATION
Aruna K RoysterFranceAnna Fali PROPOSAL
Salvatore N AmigonItalyAsiya Javayant RENEWAL
Antonio J StensethBrazilElwin Sharvill NEW
Sinclair X AmigonJapanElwin Sharvill QUALIFIED
Emily U GarufiBrazilAnna Fali QUALIFIED
Ricardo B VenereBrazilAmy Elsner NEW
Antonio C FollerGermanyIvan Magalhaes QUALIFIED
Darci P GlickGermanyElwin Sharvill QUALIFIED
Faith Y AmigonJapanIvan Magalhaes PROPOSAL
Isabel R MarrierGermanyElwin Sharvill NEGOTIATION
Francesco W GlickAustraliaElwin Sharvill UNQUALIFIED
Francesco H WaycottBrazilBernardo Dominic NEGOTIATION
Misaki C BowleyArgentinaXuxue Feng NEW
Costa F MarrierJapanIvan Magalhaes NEGOTIATION
Isabel J GauchoSpainOnyama Limba RENEWAL
Jennifer U TollnerCanadaElwin Sharvill RENEWAL
Octavia W OstroskyIndiaAnna Fali UNQUALIFIED
Jennifer C SergiUnited KingdomElwin Sharvill NEW
Deepesh I MaletCanadaAmy Elsner NEGOTIATION
Silvio Y MacleadBrazilIoni Bowcher PROPOSAL
Salvatore R MarrierSpainOnyama Limba NEGOTIATION
David U AmigonUnited KingdomAmy Elsner RENEWAL
James Z RulapaughUnited KingdomIoni Bowcher NEW
Jennifer Q BowleyIndiaIoni Bowcher RENEWAL
Mujtaba A FollerJapanAsiya Javayant UNQUALIFIED
Clifford K RoysterFranceOnyama Limba UNQUALIFIED
Claire G FerenczJapanAnna Fali PROPOSAL
Stacey U NickaFranceXuxue Feng UNQUALIFIED
Arvin P OldroydJapanAmy Elsner RENEWAL
Leon D InouyeFranceXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams B OstroskySpainXuxue Feng RENEWAL
Leja W FollerFranceAnna Fali PROPOSAL
Leja R IturbideJapanElwin Sharvill PROPOSAL
Arvin J KuskoJapanXuxue Feng NEW
Ashley E FigeroaBrazilIvan Magalhaes PROPOSAL
Kadeem N DilliardJapanElwin Sharvill NEGOTIATION
Mujtaba A FollerBrazilAnna Fali NEGOTIATION
David O AmigonAustraliaBernardo Dominic UNQUALIFIED
Cody Z WaycottCanadaIvan Magalhaes UNQUALIFIED
Aruna X DilliardFranceStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan L BriddickUnited Kingdom2026-06-30Feltz Printing Service RENEWAL88Anna Fali
1001Munro B GarufiUnited Kingdom2026-07-03Dorl, James J Esq NEW36Onyama Limba
1002Stacey V MarrierItaly2026-07-13Benton, John B Jr NEW79Bernardo Dominic
1003Ivar O OldroydFrance2026-06-27Rangoni Of Florence UNQUALIFIED29Elwin Sharvill
1004Faith H PoquetteArgentina2026-07-11King, Christopher A Esq QUALIFIED23Bernardo Dominic
1005Kadeem U FollerSpain2026-07-02Feiner Bros QUALIFIED25Bernardo Dominic
1006Juan O BriddickRussia2026-06-27King, Christopher A Esq RENEWAL84Elwin Sharvill
1007Mayumi E AlbaresBrazil2026-07-06King, Christopher A Esq NEGOTIATION76Bernardo Dominic
1008Nicolas V VenereBrazil2026-07-14Benton, John B Jr RENEWAL23Bernardo Dominic
1009Johnson Y FlosiJapan2026-06-20Commercial Press PROPOSAL27Asiya Javayant
1010Murillo K RutaSpain2026-07-11Printing Dimensions NEW91Ivan Magalhaes
1011Kadeem O IturbideJapan2026-07-10Benton, John B Jr UNQUALIFIED44Stephen Shaw
1012Cody N VenereCanada2026-06-27Truhlar And Truhlar Attys NEW12Xuxue Feng
1013Wickens Z CaldareraUnited Kingdom2026-06-23Chanay, Jeffrey A Esq NEW88Anna Fali
1014Chavez B WaycottUnited Kingdom2026-07-18Chanay, Jeffrey A Esq QUALIFIED29Amy Elsner
1015Chavez A KolmetzFrance2026-07-11Morlong Associates RENEWAL98Elwin Sharvill
1016Costa O StensethGermany2026-07-17Chapman, Ross E Esq NEW40Xuxue Feng
1017Tony O PoquetteIndia2026-07-17Rousseaux, Michael Esq NEGOTIATION12Asiya Javayant
1018Nicolas H NickaCanada2026-07-08Printing Dimensions NEGOTIATION12Onyama Limba
1019Stacey M StockhamIndia2026-07-18Buckley Miller Wright UNQUALIFIED29Elwin Sharvill
1020Aika F MaletIndia2026-06-26Feltz Printing Service PROPOSAL33Elwin Sharvill
1021James Q FlosiJapan2026-07-08Buckley Miller Wright RENEWAL27Anna Fali
1022Salvatore G PaprockiBrazil2026-07-08Truhlar And Truhlar Attys NEW60Onyama Limba
1023Julie M VenereGermany2026-07-13Buckley Miller Wright NEGOTIATION88Anna Fali
1024Juan U MarrierSpain2026-07-02Dorl, James J Esq PROPOSAL32Bernardo Dominic
1025Kaitlin A WaycottCanada2026-06-25Truhlar And Truhlar Attys UNQUALIFIED16Onyama Limba
1026David Z IturbideIndia2026-07-09Rousseaux, Michael Esq UNQUALIFIED95Bernardo Dominic
1027Munro O MacleadAustralia2026-06-24Truhlar And Truhlar Attys NEGOTIATION93Anna Fali
1028Jefferson H MarrierGermany2026-07-06Chanay, Jeffrey A Esq RENEWAL28Ioni Bowcher
1029Silvio T MorascaRussia2026-07-01Commercial Press UNQUALIFIED87Ioni Bowcher
1030Sinclair E MarrierJapan2026-07-13Rangoni Of Florence UNQUALIFIED83Ioni Bowcher
1031Stacey K RoysterItaly2026-06-28Printing Dimensions RENEWAL43Bernardo Dominic
1032Emily I WaycottFrance2026-06-29Feiner Bros NEW8Ivan Magalhaes
1033Cody A DarakjyGermany2026-07-16Chapman, Ross E Esq UNQUALIFIED27Bernardo Dominic
1034Arvin W SergiBrazil2026-07-04Truhlar And Truhlar Attys NEGOTIATION22Ioni Bowcher
1035Arvin S PaprockiFrance2026-06-28Dorl, James J Esq NEW44Ioni Bowcher
1036Francesco J VenereIndia2026-07-17Chemel, James L Cpa QUALIFIED23Ioni Bowcher
1037Adams J NickaAustralia2026-06-26King, Christopher A Esq NEW48Bernardo Dominic
1038Stacey T OldroydUnited Kingdom2026-07-04Rangoni Of Florence RENEWAL89Onyama Limba
1039Emily U FlosiBrazil2026-06-29Dorl, James J Esq RENEWAL57Ioni Bowcher
1040Costa O DarakjyIndia2026-07-18Chanay, Jeffrey A Esq NEGOTIATION54Elwin Sharvill
1041Kadeem Q ChuiCanada2026-07-15Truhlar And Truhlar Attys QUALIFIED70Anna Fali
1042Salvatore R WhobreyArgentina2026-07-05Morlong Associates NEGOTIATION47Amy Elsner
1043Leon E BriddickCanada2026-07-15Morlong Associates NEW66Elwin Sharvill
1044Ricardo A CaldareraArgentina2026-06-24Chemel, James L Cpa QUALIFIED86Elwin Sharvill
1045Jennifer T GauchoAustralia2026-07-17King, Christopher A Esq NEW14Bernardo Dominic
1046Munro O BowleyAustralia2026-06-20Feiner Bros NEW50Bernardo Dominic
1047Faith R GauchoFrance2026-07-19Feiner Bros UNQUALIFIED14Elwin Sharvill
1048Deepesh H RimJapan2026-07-03Morlong Associates UNQUALIFIED95Anna Fali
1049Jeanfrancois R CampainAustralia2026-07-15Buckley Miller Wright NEGOTIATION58Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Tony O PaprockiFranceStephen Shaw NEW
Maisha B ShinkoJapanIvan Magalhaes RENEWAL
Rodrigues S ShinkoAustraliaAnna Fali NEW
Wickens J RoysterUnited KingdomOnyama Limba QUALIFIED
Isabel I VenereIndiaXuxue Feng RENEWAL
Aruna I FigeroaRussiaAnna Fali UNQUALIFIED
Francesco K BowleyBrazilIvan Magalhaes UNQUALIFIED
Aika X OldroydIndiaStephen Shaw RENEWAL
Mayumi V FollerBrazilAsiya Javayant QUALIFIED
Greenwood A FollerJapanAsiya Javayant NEW
Jennifer S CampainItalyAmy Elsner RENEWAL
Antonio F SchemmerArgentinaOnyama Limba NEW
Aika H InouyeJapanStephen Shaw NEGOTIATION
Aika Q MarrierIndiaOnyama Limba NEW
Salvatore Y AmigonFranceXuxue Feng NEGOTIATION
Claire K CampainRussiaOnyama Limba UNQUALIFIED
Adams Q StockhamCanadaIoni Bowcher RENEWAL
Greenwood E WaycottArgentinaIoni Bowcher PROPOSAL
Silvio U SchemmerUnited KingdomXuxue Feng NEW
Sinclair L ShinkoItalyXuxue Feng QUALIFIED
Jennifer T PerinIndiaAmy Elsner NEW
Octavia I SergiIndiaAnna Fali RENEWAL
Octavia Y StockhamFranceXuxue Feng RENEWAL
Maisha X AmigonJapanAmy Elsner PROPOSAL
Antonio M MaletFranceAmy Elsner RENEWAL
Johnson P OstroskyJapanAsiya Javayant NEGOTIATION
Misaki H NickaIndiaAnna Fali NEGOTIATION
Jennifer R MorascaItalyIvan Magalhaes RENEWAL
Juan Q BriddickJapanIoni Bowcher NEW
Chavez D BowleyRussiaAmy Elsner NEGOTIATION
Mayumi D KuskoItalyIvan Magalhaes UNQUALIFIED
Salvatore M CaldareraArgentinaOnyama Limba NEGOTIATION
Leon W DoeBrazilAnna Fali QUALIFIED
Darci Q VenereRussiaAmy Elsner UNQUALIFIED
Misaki X BowleyJapanIvan Magalhaes PROPOSAL
Murillo I BowleyFranceStephen Shaw RENEWAL
Arvin G MorascaAustraliaIoni Bowcher RENEWAL
Mayumi Q RutaJapanIoni Bowcher NEW
Ashley T ShinkoJapanStephen Shaw PROPOSAL
Ricardo F RoysterAustraliaIvan Magalhaes NEW
Morrow O ShinkoJapanStephen Shaw PROPOSAL
Smith F PerinUnited KingdomIvan Magalhaes RENEWAL
Smith K VenereAustraliaIvan Magalhaes NEW
Ricardo D CaldareraJapanIoni Bowcher UNQUALIFIED
Leja H NestleRussiaAmy Elsner UNQUALIFIED
Jennifer J RutaCanadaIvan Magalhaes QUALIFIED
Ricardo O CampainIndiaAsiya Javayant NEW
Munro X PaprockiJapanBernardo Dominic NEGOTIATION
Chavez Y DilliardArgentinaXuxue Feng NEW
Kaitlin V MaletIndiaAnna Fali NEW
Frozen Columns
Name
Alejandro B Perin
Ricardo J Rim
James W Butt
Jefferson W Saylors
Morrow O Iturbide
Sinclair E Rulapaugh
Darci L Garufi
Kaitlin G Paprocki
Alejandro V Albares
Emily J Bolognia
Leja P Marrier
Isabel L Ferencz
Darci X Caudy
Rodrigues W Malet
Chavez C Shinko
Mayumi Z Doe
Jeanfrancois Z Morasca
Octavia U Gillian
Misaki L Ostrosky
Leja K Stenseth
Faith O Ruta
Mayumi C Bowley
Ashley P Sergi
Wickens Z Briddick
Aditya Q Doe
Leon B Caldarera
Aditya U Waycott
Greenwood C Campain
Maria I Gaucho
Rodrigues E Campain
Morrow S Iturbide
Munro A Kolmetz
Nicolas K Sergi
Morrow Y Ruta
Ashley N Garufi
Leon D Perin
Francesco C Malet
Francesco I Marrier
Mayumi G Gillian
Julie G Sergi
Leon O Doe
Sinclair F Venere
Sinclair T Glick
Octavia D Tollner
Adams W Doe
Faith A Gaucho
Costa B Inouye
Nicolas U Oldroyd
Mujtaba U Darakjy
Morrow Q Darakjy
IdCountryDate
1000Germany2026-06-21
1001France2026-07-07
1002Germany2026-06-27
1003Russia2026-06-27
1004Canada2026-07-04
1005Germany2026-07-17
1006Italy2026-06-23
1007Japan2026-07-17
1008Australia2026-07-08
1009Germany2026-07-18
1010Italy2026-07-03
1011Italy2026-06-30
1012Australia2026-07-02
1013United Kingdom2026-07-16
1014Canada2026-06-23
1015France2026-07-07
1016Argentina2026-07-07
1017India2026-07-05
1018India2026-06-30
1019Italy2026-07-04
1020Spain2026-06-24
1021Australia2026-06-20
1022India2026-06-25
1023Brazil2026-07-17
1024United Kingdom2026-07-01
1025Spain2026-07-14
1026France2026-06-23
1027Japan2026-07-10
1028Spain2026-07-12
1029United Kingdom2026-07-01
1030Russia2026-06-22
1031Canada2026-07-10
1032United Kingdom2026-07-08
1033Germany2026-06-21
1034Argentina2026-06-29
1035Japan2026-06-28
1036India2026-07-08
1037Canada2026-06-28
1038Canada2026-07-15
1039Russia2026-07-06
1040Russia2026-07-11
1041Spain2026-07-02
1042France2026-07-15
1043Canada2026-07-01
1044Australia2026-07-07
1045Italy2026-07-14
1046India2026-07-10
1047Spain2026-07-02
1048Argentina2026-07-13
1049Canada2026-07-06

On-Demand Data

NameIdCountryDate
Jefferson O Darakjy1000Argentina2026-06-30
Mujtaba B Paprocki1001India2026-07-16
Leja V Stenseth1002India2026-07-05
Morrow N Flosi1003Italy2026-06-25
Murillo R Campain1004Argentina2026-07-04
Wickens O Dilliard1005France2026-07-09
Arvin P Ferencz1006India2026-07-04
Julie T Garufi1007United Kingdom2026-07-19
Jones X Nicka1008Germany2026-07-07
Clifford G Rim1009United Kingdom2026-06-24
Izzy P Wieser1010Argentina2026-06-29
Aika D Caudy1011United Kingdom2026-07-18
Wickens N Iturbide1012Brazil2026-06-27
Mujtaba B Poquette1013India2026-07-04
Rodrigues P Oldroyd1014United Kingdom2026-06-23
Stacey Q Gillian1015Brazil2026-07-19
Rodrigues J Slusarski1016Canada2026-07-17
Greenwood J Maclead1017Brazil2026-07-15
Aruna H Butt1018Japan2026-06-21
Jones C Maclead1019France2026-07-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco N RoysterCanadaElwin Sharvill PROPOSAL
Salvatore B SlusarskiSpainIoni Bowcher PROPOSAL
David Y DarakjyIndiaAmy Elsner RENEWAL
Darci X SaylorsAustraliaElwin Sharvill PROPOSAL
Rodrigues O WaycottAustraliaOnyama Limba RENEWAL
Isabel T PaprockiArgentinaIvan Magalhaes PROPOSAL
Costa R WaycottRussiaAsiya Javayant RENEWAL
Faith S DilliardFranceBernardo Dominic QUALIFIED
David D VenereGermanyIvan Magalhaes RENEWAL
Octavia T MaletSpainAsiya Javayant NEW
Costa Z InouyeFranceIoni Bowcher RENEWAL
Stacey U BriddickCanadaAsiya Javayant RENEWAL
Murillo A WieserUnited KingdomXuxue Feng QUALIFIED
Maisha O GlickUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore G GlickItalyIoni Bowcher NEGOTIATION
Juan O AlbaresAustraliaAmy Elsner QUALIFIED
James P KolmetzArgentinaIoni Bowcher NEGOTIATION
Leon J SlusarskiRussiaOnyama Limba PROPOSAL
Clifford Z StockhamSpainStephen Shaw UNQUALIFIED
Mujtaba T MacleadSpainAmy Elsner QUALIFIED
Salvatore D RutaRussiaElwin Sharvill RENEWAL
Jefferson H TollnerAustraliaElwin Sharvill UNQUALIFIED
Munro H AmigonCanadaBernardo Dominic NEGOTIATION
Aika N NickaSpainBernardo Dominic PROPOSAL
Morrow V PaprockiGermanyIvan Magalhaes PROPOSAL
Greenwood M SchemmerBrazilOnyama Limba QUALIFIED
Smith V DoeRussiaAnna Fali UNQUALIFIED
Jones J DoeItalyAnna Fali UNQUALIFIED
Wickens I PaprockiJapanElwin Sharvill NEGOTIATION
Darci E AmigonJapanOnyama Limba NEGOTIATION
David P BowleySpainStephen Shaw QUALIFIED
Aika P TollnerCanadaBernardo Dominic NEGOTIATION
Murillo B MaletJapanXuxue Feng QUALIFIED
Wickens Y CampainArgentinaAnna Fali NEGOTIATION
Salvatore U MacleadCanadaOnyama Limba QUALIFIED
Clifford V MaletSpainOnyama Limba NEGOTIATION
Francesco L DilliardSpainXuxue Feng PROPOSAL
Johnson K ButtItalyElwin Sharvill NEGOTIATION
Clifford E PoquetteBrazilAmy Elsner QUALIFIED
Juan B WieserJapanIvan Magalhaes QUALIFIED

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